微信小程序實現訂閱信息功能

消息能力是小程序能力中的重要組成,能夠經過訂閱消息召回用戶,實現功能的閉環和更優的服務體驗。前端

微信小程序實現訂閱信息功能

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下發消息,

微信小程序實現訂閱信息功能

至此,一個完整的流程已完成。

相關文章
相關標籤/搜索