消息能力是小程序能力中的重要組成,能夠經過訂閱消息召回用戶,實現功能的閉環和更優的服務體驗。前端
1 功能介紹
訂閱消息包括兩種小程序
1 一次性訂閱消息微信小程序
一次性訂閱消息用於解決用戶使用小程序後,後續服務環節的通知問題。用戶自主訂閱後,開發者可不限時間地下發一條對應的服務消息;每條消息可單獨訂閱或退訂。
2 長期訂閱消息api
一次性訂閱消息可知足小程序的大部分服務場景需求,但線下公共服務領域存在一次性訂閱沒法知足的場景,如航班延誤,需根據航班實時動態來屢次發送消息提醒。爲便於服務,咱們提供了長期性訂閱消息,用戶訂閱一次後,開發者可長期下發多條消息。微信
目前長期性訂閱消息僅向政務民生、醫療、交通、金融、教育等線下公共服務開放,後期將逐步支持到其餘線下公共服務業務。因此這裏咱們演示的是一次性訂閱。markdown
2使用說明微信公衆平臺
1 獲取模板 IDide
在微信公衆平臺手動配置獲取模板 ID:
登陸 https://mp.weixin.qq.com 獲取模板,若是沒有合適的模板,能夠申請添加新模板,審覈經過後可以使用。this
2 配置前端代碼日誌
在咱們要獲取下發權限的頁面js中,增長下發權限。首先配置模版ID
data: { tmplIds:['GD1lDU67hQfBRWaPWMviVd44HOOgpiSw76H45AGsOCw','BUER-P_yrzo5qnRvqomZS4WRciNggW217MFp7f4I3MA'], },
這個模版ID後續須要用到,先定義獲取用戶的當前設置,返回值中只會出現小程序已經向用戶請求過的權限。
// 檢測是否開啓 更新提示 testingTap: function () { let that = this; wx.getSetting({ withSubscriptions: true, success(res) { if (res.subscriptionsSetting.mainSwitch) { if (res.subscriptionsSetting.itemSettings != null) { let item = res.subscriptionsSetting.itemSettings.GD1lDU67hQfBRWaPWMviVd44HOOgpiSw76H45AGsOCw if (item == "reject") { console.log("拒絕訂閱") } else if (item == "accept") { console.log("開啓訂閱") } } } else { console.log("訂閱消息未開啓") } } }) },
打印日誌的這幾個地方能夠編寫本身的邏輯,上面代碼只是檢查,沒有讓用戶選擇,下面代碼就是獲取用戶下發
//受權 subTap: function () { let that = this; wx.requestSubscribeMessage({ tmplIds: that.data.tmplIds, success(res) { console.log(res) }, fail(res) { console.log(res) } }) },
方法已寫完,咱們頁面加上調用便可
<button bindtap="subTap">容許訂閱消息</button>
這只是個演示,subtop方法能夠在任什麼時候候調用。
3 服務端下發消息
服務端調用api下發消息,
至此,一個完整的流程已完成。