關於小遊戲訂閱消息的解讀

  • 2019 年 10 月 6 日
  • 筆記

最近有點忙,更新慢了,今天隨機解讀一個小遊戲的新特性。

相信不少同學已經收到小遊戲「訂閱消息能力」的內測邀請了,這個能力簡而言之就是:

讓小遊戲能給用戶發服務通知。

整個部署過程很簡單,但實現的效果卻是很重要,未來可以實現諸如「排名下降提醒」、「體力恢復提醒」、「活動開啟通知」、「任務完成提醒」等一系列有助於迴流的功能,顯然能為小遊戲提高留存。

所以花叔專門做了一個技術demo,研究了它的具體用法,完整的演示影片在這裡:

接下來本文主要介紹一下它的應用場景、使用條件和使用方法。

應用場景:

該特性由兩項功能組成,分別是「消息訂閱」以及「消息發送」功能,可用於各種遊戲功能的提醒,但僅限於用戶主動觸發的訂閱場景。

使用條件:

1.需用戶主動點擊遊戲內某按鈕或元素進行訂閱

2.訂閱提示框樣式無法自定義

3.只能用官方給定的通知模板

使用方法:

1. 進入mp後台,開通「訂閱消息」功能(目前在灰度測試,部分小遊戲的mp後台還看不到這個菜單項)。點擊菜單欄左側菜單中「功能」欄目下的「訂閱消息」:

按照提示,選擇行業欄目進行開通

2. 開通成功後,可以開始選擇並製作模板。

具體步驟如下:

首先在模板庫中選用現成的訂閱模板(目前貌似還沒法申請自定義模板),

點擊「選用」後,可以配置模板要出現的內容:

訂閱模板製作完畢(不能修改)後,會得到一個模板ID

3. 在小遊戲頁面中給元素定義touchend事件(不能直接調用,需要在用戶的觸摸結束行為的回調中調用),在事件中執行以下程式碼:

關鍵程式碼:

wx.requestSubscribeMessage({      tmplIds: [id],//剛申請的訂閱模板id      success(res) {          // res{          //      errMsg: "requestSubscribeMessage:ok",          //      zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE: 'accept'          //      EXo0x_A2wpFf1rllR2ed4KkPzvVCfade-WyQczL-nuz: 'reject'          // }          if (res[id] == 'accept') {              //用戶同意了訂閱              wx.showToast({                  title: '訂閱成功'              })          } else {              //用戶拒絕了訂閱或當前遊戲被禁用訂閱消息              wx.showToast({                  title: '訂閱失敗'              })          }      },      fail(res) {          console.log(res)      },      complete(res) {          console.log(res)      }  })

頁面上點擊該元素的時候會彈出系統的默認彈框:

4.只要用戶點擊了「允許」,那麼開發者在服務端調用官方的「消息發送」介面程式碼

wx.request({      url: 'https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=' + token,      method: 'post',      data: {          "touser": "oQJaf4t9ckXHDJprWcsolMcPUYks",          "template_id": id,          "page": "index",          "data": {              "number2": {                  "value": "1"              },              "number3": {                  "value": "2"              },              "date4": {                  "value": "2019年09月18日"              }          }      },      success(e){          console.log(e)      }  })

程式碼執行後,微信聊天框就會收到一個服務通知,點擊該服務通知可再次回到小遊戲中

至此,那就能實現小遊戲的消息推送功能了,整個過程很簡單,相信這個功能很快就會出現在各大小遊戲中。