准备工作:
1、获取小程序的appid与appsecret(小程序后台获取)
2、获取服务号的appid与appsecret(服务号后台获取)
3、小程序与服务号绑定在同一个微信开放平台
注意:小程序、服务号、微信开放平台都要认证!!!都要认证!!!都要认证!!!
接下来进入正题。
第一步:获取服务号的access_token
直接通过官方给的接口获取。这里有两个参数,都可以直接获取到
第二步:获取已关注服务号的所有用户的openid
还是通过官方提供的网址获取openid,这里需要一个参数access_token,已从上一步获取到了
第三步:获取已关注用户的用户信息
这一步可获取用户的详细信息,包括昵称、头像、地理位置、unionid等。根据官方网址需要两个参数access_token与openid通过上面两部均已取得。这里后台可以生成一张表用于存储这些数据。
第四步:小程序登录时获取用户的unionid
(1)用户登录小程序时,通过wx.login()获取code
(2)通过微信官方网址获取unionid,需要的参数为code、appid、appsecret
第五步:服务号的模板消息推送
(1)当服务号与小程序绑定在同一个开放平台时,他们的unionid是一样的,所以我们可以通过unionid这个中间量来进行数据的查找
(2)通过第四步获取的unionid,我们可以查找到当前登录小程序的用户他的服务号的openid。
(3)需要的两个参数都获取到了,我们就可以推送消息模板啦,接下来按照官方的教程 *** 作就行了。
(4)如果想要一次推送给多人可以把接收人的openid存到一个数组中,然后加个循环就行了。
总结:用户必须关注服务号,否则不发收到推送消息。
由于小程序只能发送订阅消息,消息类型如下:一次性订阅消息
一次性订阅消息用于解决用户使用小程序后,后续服务环节的通知问题。用户自主订阅后,开发者可不限时间地下发一条对应的服务消息;每条消息可单独订阅或退订。(发一次消息要用户授权一下,可以同时授权多条消息提醒,但每次也只发一遍。)
长期订阅消息
一次性订阅消息可满足小程序的大部分服务场景需求,但线下公共服务领域存在一次性订阅无法满足的场景,如航班延误,需根据航班实时动态来多次发送消息提醒。为便于服务,我们提供了长期性订阅消息,用户订阅一次后,开发者可长期下发多条消息。
目前长期性订阅消息仅向政务民生、医疗、交通、金融、教育等线下公共服务开放,后期将逐步支持到其他线下公共服务业务。(即使你是这些行业,也需要使用申请模板去微信那边申请。)
1、公众号和小程序需要在同一个微信开放平台下,保证拿到相同的UnionID
2、如果需要在消息模板上加上小程序的入口,需要微信公众号和小程序做关联
3、小程序和公众号都必须是认证过的
4、小程序需要提前知道公众号的appid和appsecret
5、发送消息之前需要拿到用户对应于公众号的openid(这个要前期规划好获取方案)
微信公众号会在2021-04-30发文对消息模板做限制,想要做成和小程序订阅消息一样的模式,不知道最终会调整成什么样子。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)