微信小程序云开发通过服务号给用户推送模板消息

主要参考下面两个文章

1、云函数接收公众号消息推送 | 微信开放社区

​​​​​​2、微信小程序通过公众号(服务号)推送通知或提醒步骤及代码(一,获取推送前所需信息)_微信小程序推送服务通知_庆登登登的博客-CSDN博客

 一些基本的概念就不讲了,这里主要讲下步骤和我踩得坑

基础要求是

1、同主体认证过的服务号、小程序,把这俩绑定到同一个微信开放平台,这里仅仅是为了拿到unionid。

2、服务号要申请好模板

核心逻辑是:下面这张图

1、把环境共享给公众号,然后添加消息推送(消息事件:subscribe_and_unsubscribe),就可以在用户关注服务号的时候在配置的云函数里获得用户的unionid。

2、然后把用户的unionid、公众号的openid、小程序的openid,存到数据库,就形成了对应关系。

3、推送模板消息就是想给哪个公众号用户推送,就在数据库中通过unionid获得公众号用户的openid。给他推送就完事了。

步骤细节和坑

1、共享环境和添加消息推送是需要从“公众号网页”进入配置的,我一开始直接从外层的“云开发”进去,没有审题很浪费时间

2、共享环境+添加消息推送给,只要第1步对了,没有什么坑

3、在云函数里获得unionid。

这里有个坑,就是我一直以为云函数的event里就会包含unionid,但试了好久只返回openid,老觉得是不是我绑错了,后面看了文档 在公众号中使用云开发 | 微信开放文档,发现可以通过cloud.getWXContext()来获得

 4、这里已经拿到用户的unionid和公众号的openid,那就存起来就行了,跟小程序的openid存一起。

5、根据小程序的业务,需要给某个公众号用户推送消息,那就从表里找到该用户的公众号openid,推送即可。

推送方法参考下面的文档,基本上示例直接copy过来,改成你自己的参数即可推送成功!

下发统一消息 | 微信开放文档

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要实现服务微信小程序用户发送模板消息,需要使用微信公众平台提供的模板消息接口。以下是使用PHP实现的步骤: 1. 获取access_token 首先需要获取access_token,可以通过向以下接口发送GET请求获取: https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET 其中APPID和APPSECRET分别为服务的AppID和AppSecret。 2. 获取小程序用户的openid 在向小程序用户发送模板消息之前,需要获取用户的openid。可以通过使用小程序提供的登录接口获取用户的openid,具体方法可以参考小程序开发文档。 3. 发送模板消息 获取用户的openid之后,就可以向用户发送模板消息了。发送模板消息的接口为: https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN 其中ACCESS_TOKEN为第一步获取的access_token。 发送模板消息的数据格式为: { "touser":"OPENID", "template_id":"TEMPLATE_ID", "page":"index", "form_id":"FORMID", "data":{ "keyword1":{ "value":"VALUE1" }, "keyword2":{ "value":"VALUE2" } }, "emphasis_keyword":"keyword1.DATA" } 其中: - touser为接收消息小程序用户的openid; - template_id模板消息ID,可以在公众平台后台的模板库中查找; - page为小程序的页面路径,可以不填; - form_id小程序的form_id,可以在小程序端通过wx.requestPayment等接口获取; - data为模板消息中需要替换的变量; - emphasis_keyword为模板消息中需要进行高亮的关键字。 具体的数据格式可以参考微信公众平台的文档。 以上是使用PHP实现服务微信小程序用户发送模板消息的基本步骤。需要注意的是,为了保证模板消息能够正常发送,需要先在公众平台后台的模板库中添加对应的模板,并且设置好模板消息中需要替换的变量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值