訂閱消息開發步驟:
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 $url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=".$AccessToken; $message='通過'; $data='請點擊該條信息,前往小程序查看內容'; $post = array( 'touser'=>$openid, //接受消息用戶的openid 'template_id'=>"34fwe1211xxx", //發送提醒審核用戶信息的模板 'page'=>"pages/index/index", //設置點擊推送的訂閱消息跳到首頁 'data'=>array( 'phrase1'=>array('value'=>$message),//嚴格文檔phrase類型 'thing3'=>array('value'=>$data),//嚴格文檔thing類型 'date2'=>array('value'=>date('Y年m月d H:i',time()))//嚴格文檔date類型 ) http_curl_post_json($url,$post);
最近開發的小程序項目要添加訂閱消息功能,因為項目的小程序不能申請永久訂閱模板,所以只能弄一次性訂閱消息模板,看了官方文檔結合自己開發,總結如下:
1、用戶發生點擊行為(訂閱)或者發起支付回調后,才可以調起(拉起)訂閱消息界面
2、tmplIds參數:需要訂閱的消息模板的id的集合,一次調用最多可訂閱3條消息-------意思是:一次調用(拉起)最多三條訂閱消息模板,即用戶最多能訂閱3種類型消息模板的消息,而不是說訂閱一次后,可發送三條消息
3、勾選了"總是保持以上選擇,不在詢問",按鈕后,很多開發者會誤解為:勾選后,即一次性訂閱消息變成永久訂閱,即不用用戶再次授權,就可以發送無數條信息。
這種理解是錯誤的,這個勾選其實是勾選后,下次用戶觸發訂閱消息功能就不會彈出授權窗口了
4、用戶點擊觸發訂閱授權並訂閱后,官方沒有限制后台多久之內發送該次消息,但只能發送一次,即用戶點擊訂閱,訂閱消息只能發送一次,發送訂閱消息后客戶收到了,客戶要想再次收到訂閱消息,則必須要客戶在小程序再次同意訂閱該消息(對通知業務影響很大,限制了業務擴展)
5、訂閱消息可理解為無限制訂閱,但每次訂閱的有效期為一次性,即訂閱到發送后該次的有效期就結束了