当前位置:网站首页>尝试开发微信公众号消息推送功能并且和小程序关联
尝试开发微信公众号消息推送功能并且和小程序关联
2022-08-08 11:24:00 【用户9127725】
之前写了几篇关于微信小程序的开发实践,总的来说没啥难度,感兴趣的请移步:使用Mpvue配合Weui开发面试题题库微信小程序,并且发布到正式环境,这一次我们来尝试开发一下微信公众号,那么公众号和小程序到底有什么区别呢?
首先定位不同
公众号服务于营销与信息传递,小程序面向产品与服务。公众号主要用于信息的传递实现人与信息的连接,借助H5 能够实现简单的交互,主要以营销和信息传递为主简单的服务为辅,而小程序从功能上与公众号有严格区分(不支持关注、消息推送等营销手段),一方面使得产品与服务不至于淹没在公众号营销信息中,另一方支持公众号、朋友圈、群与小程序之间的互动与导流,使得开发者专心做产品与服务,从而为微信带来大量长尾服务叠加微信自身重度服务打造从社交到信息连接再到服务的生态圈。
再者实现技术有区别
公众号基于H5,小程序基于微信自身开发环境与开发语言。小程序是微信内的云端应用(所以无需安装),不是原生App,通过WebSocket 双向通信(保证无需刷新即时通信)、本地缓存(图片与UI 本地缓存降低与服务器交互延时)以及微信底层技术优化实现了接近原生APP 的体验。
首先,我们还是去https://mp.weixin.qq.com/来注册一个公众号,注册时可以选择订阅号和服务号,这两者都是公众号,可以理解为服务号的功能更强大,但是需要企业级的资质才可以。
注册成功后,我们可以在公众号设置中设置一些公众号的基本信息
只要用户关注了公众号,就可以看到一些关于公众号的信息了,这里我们来实现一个小功能,就是给关注公众号的粉丝来推送消息。
这个功能在微信官方被称为模板消息推送,官方文档:https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Template_Message_Interface.html
我们从这里使用沙盒环境来全程模拟线上测试,首先进入微信的官方沙盒环境测试地址:https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index
在这里我们获取到了测试的appid和sceret
按照说明文档,我们首先要获取token,通过微信官方的接口调试工具就可以在线获取到token,非常方便:https://mp.weixin.qq.com/debug/cgi-bin/apiinfo?t=index&type=%E5%9F%BA%E7%A1%80%E6%94%AF%E6%8C%81&form=%E8%8E%B7%E5%8F%96access_token%E6%8E%A5%E5%8F%A3%20/token
填入刚刚的appid和appsecret,点击检查问题,就可以获取到你的token,需要注意的是,此token是有时间限制的,超过两小时需要再次请求接口获取
将token保存好,此时再回到沙盒环境网址,关注测试公众号
然后创建一个新增一个测试模板
此时,我们手里已经掌握了模板id,用户的微信号id,这样就可以给关注的用户推送消息啦,聪明如你一定注意到了消息内容有一个{{ first.DATA}} ,这个其实就是一个类似通配符的东西,它可以将消息作为变量发送,这样你就能随时更改消息内容了。
现在我们来利用postman,给关注的用户实时推送一条消息
推送消息的接口地址为:https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=token 你需要将token替换为之前通过接口获取的token
根据接口文档,需要传入的参数有token,用户id,模板id,以及跳转网址和data,需要注意一点,发送的参数格式为json,别忘了请求方式为post
请求成功后,我们在公众号里就能看到这条消息
总体来说模板消息在公众号的生态里是非常优秀的一种消息推送形式:用户查看便捷,信息传递直接:不用像图文消息那样跳到网页查看;和高级群发一样,用户关注即能收到,没有其他发送前提;日调用上限是10万次,且能根据粉丝的量级得到进一步提升;粉丝点击后直达小程序/链接,引流效果好。
整个过程非常简单,当然了,这只是测试的沙盒环境,如果想应用到正式,必须有自己的独立服务器和域名才能使用
模板消息除了单发之外,当然也可以通过多次调用接口的形式实现群发效果,让公众号发给需要接收消息的部分粉丝。
最后,我们可以关联微信小程序,这样用户点击消息后就可以直接跳转小程序的页面了
边栏推荐
- One article to understand configuration management (CM)
- ssh 安全 之 密钥登录
- 京东云无线宝产品部负责人张晓东 : 京东云无线宝与开源的亲密关系 | 《大神详解开源 BUFF 增益攻略》讲座回顾...
- 萤石、小米对垒智能摄像头
- #yyds Dry Goods Inventory#【Yugong Series】August 2022 Go Teaching Course 005-Variable
- Supervisor 后台进程管理
- Kubernetes资源编排系列之四: CRD+Operator篇
- 微服务分库分表
- 二、线性结构
- LeetCode_487_最大连续1的个数Ⅱ
猜你喜欢
上海控安SmartRocket系列产品推介(二):SmartRocket Modeler可视化建模开发工具
ReentrantLock原理,ReentrantLock和synchronized区别
五、树结构
如何使用shell来进行版本管理-以iptables为例
高可用的并行MySQL数据同步及分布式
leetcode:761. 特殊的二进制序列【递归 + 转换有效括号】
#yyds Dry Goods Inventory#【Yugong Series】August 2022 Go Teaching Course 005-Variable
Jingdong, zhang, director of the cloud wireless products division treasure jingdong cloud wireless treasure close relationship with the open source | the great god, open source BUFF gain strategy revi
神经网络分类
day02 -DOM - advanced events (register events, event listeners, delete events, DOM event flow, event objects, prevent default behavior, prevent event bubbling, event delegation) - commonly used mouse
随机推荐
3 million tenders!Qingdao Medical Security Bureau host database middleware operation and maintenance service project
高可用的并行MySQL数据同步及分布式
我用开天平台做了一个城市防疫政策查询系统【开天aPaaS大作战】
Classificition Loss in target detection
NoSQL有哪些特点呢?
结合“xPlus”探讨软件架构的创新与变革
TCP通信
彻底弄清楚session,cookie,sessionStorage,localStorage的区别及应用场景(面试向)
Pattern Recognition Study Notes: Chapter 6 Other Classification Methods (Continuously updated...)
8/7 牛客6+div2D+倍增lca
Postman使用简单演示
机器学习(十六)推荐系统
网盘目录搜索系统源码+搭建教程
模式识别 学习笔记:第七章 特征选择
易周金融分析 | 互联网系小贷平台密集增资;上半年银行理财子公司综合评价指数发布
STM32的内存管理相关(内存架构,内存管理,map文件分析)
报错 | RegExp2 is not defined
移动适配vw/vh方法—vw/vh实例—模拟B站手机端首页—获取样式教程视频
oracle存储过程中表名变量的异常
模式识别 学习笔记:第六章 其他分类方法 (持续更新中。。。)