微信小程序訂閱消息開發筆記

WordPress 小程序訂閱消息設置

2019 年 10 月 12 日,微信團隊在微信開放社區發布一則公告:小程序模板消息能力調整通知。即微信小程序即將要下線消息模板通知功能,采用訂閱消息服務通知。至于訂閱消息和消息模板功能在推送消息通知上有什么區別,可以點擊這里查看官方公告。在此公告出來之前,我本來已經基本上完成了 WordPress 版小程序消息模板推送插件,準備即將推出插件之際,卻收到了這么一則公告,真的是相當無語了。之前開發的插件就等于是浪費時間了,當然,離消息模板正式下線也還有一二個月的時候,所以,我也提供給了使用丸子小程序資訊版的朋友們下載插件,并集成了推送消息服務功能。

盡管此前開發的小程序推送憑證收集的 WordPress 插件沒有多大的用處了,但是,還是可以作為訂閱消息功能插件開發作參考。于是,花費了一些時間重新整理和開發了小程序訂閱 WordPress 插件,提供給了丸子小程序社區版用戶使用?,F在,也正式更新丸子小程序資訊版用戶使用。

小程序訂閱消息和模板消息最大的差別,個人認為是主動訂閱消息和被動接收消息。小程序訂閱消息需要用戶主動訂閱,而且默認情況下是非靜默式觸發。模板消息則是在用戶點擊或者提交表單的情況下產生推送憑證,默認情況下是可以靜默式收集憑證。

模板消息是通過推送憑證 formid 進行服務消息通知推送。formid 是有時效性的,從產生憑證開始,七天內有效。訂閱消息則是通過對訂閱模板觸發記錄推送,每訂閱一次就只能推送一次,沒有時效性,不受時間限制,受訂閱次數限制。

模板消息的推送憑證 formid 收集功能相對容易,具體可以點擊這里查看之前寫的服務消息通知推送筆記。

訂閱消息需要通過微信小程序提供的 API 觸發訂閱機制。API 示例如下:


wx.requestSubscribeMessage({
  tmplIds: [''], // 訂閱消息模板 ID 列表
  success (res) { }
})

API 參數如下:

屬性 類型 默認值 必填 說明
tmplIds Array 需要訂閱的消息模板的id的集合(注意:iOS客戶端7.0.6版本、Android客戶端7.0.7版本之后的一次性訂閱/長期訂閱才支持多個模板消息,iOS客戶端7.0.5版本、Android客戶端7.0.6版本之前的一次訂閱只支持一個模板消息)消息模板id在[微信公眾平臺(mp.weixin.qq.com)-功能-訂閱消息]中配置
success function 接口調用成功的回調函數
fail function 接口調用失敗的回調函數
complete function 接口調用結束的回調函數(調用成功、失敗都會執行)

訂閱成功后,回調的參數主要有兩個:errMsg 和 TEMPLATE_ID 。errMsg:接口調用成功時errMsg值為'requestSubscribeMessage:ok'。TEMPLATE_ID:[TEMPLATE_ID]是動態的鍵,即模板id,值包括'accept'、'reject'、'ban'。'accept'表示用戶同意訂閱該條id對應的模板消息,'reject'表示用戶拒絕訂閱該條id對應的模板消息,'ban'表示已被后臺封禁。例如 { errMsg: "requestSubscribeMessage:ok", zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE: "accept"} 表示用戶同意訂閱zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE這條消息。

訂閱成功的回調參數有個坑:獲取用戶對某個訂閱消息模板狀態相對麻煩。因為 TEMPLATE_ID 是一個動態的鍵,因此,無法通過 res.TEMPLATE_ID 獲取訂閱消息模板的狀態是 'accept'、'reject'、'ban' 中的哪一個。如何獲取這個狀態,這就每個開發者通過自己的方法進行嘗試了。

以上就是微信小程序訂閱消息的開發筆記,丸子系列小程序(社區版/資訊版)已經正式上線了訂閱消息功能,支持文章評論回復通知,審核結果通知,文章更新提醒。由丸子團隊開發的 WordPress 插件已經上線丸子插件中心下載,點擊這里查看詳情。此外,丸子團隊開發的開源版插件 Mini Program API 也已經完成了訂閱消息功能,目前正在測試過程中,后續將同步更新微信小程序開源版訂閱消息功能。

注意:wx.requestSubscribeMessage 只能使用在 bindtap 動作里。否則會提示:requestSubscribeMessage:fail can only be invoked by user TAP gesture

相關推薦

6 條評論

  1. L

    很不錯

  2. A.Pro.Chikr

    屌屌的

  3. 田子健

    厲害了

  4. 宋懷慶

    PC端閱讀還需要積分嗎?

    • Chi

      是的,同樣需要積分閱讀

  5. 熱心市民袁某某

    666不錯的

發表評論

微信掃一掃

微信掃一掃

微信掃一掃,分享到朋友圈

微信小程序訂閱消息開發筆記
返回頂部

顯示

忘記密碼?

顯示

顯示

獲取驗證碼

Close
jdb财神捕鱼免费