订阅消息开发步骤:
1、小程序管理后台添加订阅消息的模板
2、小程序前端编写拉起订阅授权
wx.requestSubscribeMessage({ tmplIds: [‘34fwe1211xxx‘], success (res) { } })
3、后台通过小程序接口发送订阅消息
//$AccessToken的值需要用小程序的appid和密码为参数,通过接口:https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
1 $url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=".$getAccessToken; 2 $message=‘通过‘; 3 $data=‘请点击该条信息,前往小程序查看内容‘; 4 foreach ($user as $v) { 5 $post = array( 6 ‘touser‘=>$openid, //接受消息用户的openid 7 ‘template_id‘=>"34fwe1211xxx", //发送提醒审核用户信息的模板 8 ‘page‘=>"pages/index/index", //设置点击推送的订阅消息跳到首页 9 ‘data‘=>array( 10 ‘phrase1‘=>array(‘value‘=>$message),//严格文档phrase类型 11 ‘thing3‘=>array(‘value‘=>$data),//严格文档thing类型 12 ‘date2‘=>array(‘value‘=>date(‘Y年m月d H:i‘,time()))//严格文档date类型 13 ) 14 ); 15 http_curl_post_json($url,$post); 16 }
最近开发的小程序项目要添加订阅消息功能,因为项目的小程序不能申请永久订阅模板,所以只能弄一次性订阅消息模板,看了官方文档结合自己开发,总结如下:
1、用户发生点击行为或者发起支付回调后,才可以调起(拉起)订阅消息界面
2、tmplIds参数:需要订阅的消息模板的id的集合,一次调用最多可订阅3条消息-------意思是:一次调用(拉起)最多三条订阅消息模板,即用户最多能订阅3种类型消息模板的消息,而不是说订阅一次后,可发送三条消息
3、勾选了"总是保持以上选择,不在询问",按钮后,很多开发者会误解为:勾选后,即一次性订阅消息变成永久订阅,即不用用户再次授权,就可以发送无数条信息。
这种理解是错误的,这个勾选其实是勾选后,下次用户触发订阅消息功能就不会弹出授权窗口了
4、用户点击触发订阅授权并订阅后,官方没有限制后台多久之内发送该次消息,但只能发送一次,即用户点击订阅,订阅消息只能发送一次(对通知业务影响很大,限制了业务扩展)