功能介紹
消息能力是小程序能力中的重要組成,我們為開發者提供了訂閱消息能力,以便實現服務的閉環和更優的體驗。
- 訂閱消息推送位置:服務通知
- 訂閱消息下發條件:用戶自主訂閱
- 訂閱消息卡片跳轉能力:點擊查看詳情可跳轉至該小程序的頁面
使用說明
步驟一:獲取模板 ID
在微信公眾平台手動配置獲取模板 ID:
登錄 https://mp.weixin.qq.com 獲取模板,如果沒有合適的模板,可以申請添加新模板,審核通過后可使用。
步驟二:獲取下發權限
前端的接口:我們可以預設多個模板ID一起申請,用戶勾選的會返回accept,也是就通過,后端就可以記錄了。
wx.requestSubscribeMessage({ tmplIds: [''], success (res) { } })
步驟三:調用接口下發訂閱消息
POST https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=ACCESS_TOKEN
/ * 發送訂閱消息 * @return [type] [description] */ public function sendSubMessage($openId = "openId",$tmpl = "TEMPLATE_ID",array $data,$page='',$miniprogram_state='formal'){ $params['touser'] = $openId; $params['template_id'] = $tmpl; $params['page'] = $page; $params['miniprogram_state'] = $miniprogram_state; $params['data'] = $data; $url = 'https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token='.$token; $re = $this->curl_url($url,$params); return $re; } private function curl_url($url, $json) { $body = json_encode($json); $headers = array("Content-type: application/json;charset=UTF-8", "Accept: application/json", "Cache-Control: no-cache", "Pragma: no-cache"); $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $body); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); $result = curl_exec($ch); curl_close($ch); return $result; }
data請求示例
{
"touser": "OPENID",
"template_id": "TEMPLATE_ID",
"page": "index",
"miniprogram_state":"developer",
"lang":"zh_CN",
"data": {
"number01": {
"value": "339208499"
},
"date01": {
"value": "2015年01月05日"
},
"site01": {
"value": "TIT創意園"
} ,
"site02": {
"value": "廣州市新港中路397號"
}
}
}
官方文檔:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/subscribe-message.html