国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 熱點 > 微信 > 正文

微信小程序模板消息限制實現無限制主動推送的示例代碼

2024-07-22 01:17:37
字體:
來源:轉載
供稿:網友

需求背景

基于微信的通知渠道,微信小程序為開發者提供了可以高效觸達用戶的模板消息能力,在用戶本人與小程序頁面有交互行為后觸發,通過微信聊天列表中的服務通知可快捷進入查看消息,點擊查看詳情還能跳轉到下發消息的小程序的指定頁面。

微信小程序允許下發模板消息的條件分為兩類:支付或者提交表單。通過提交表單來下發模板消息的限制為“允許開發者向用戶在7天內推送有限條數的模板消息(1次提交表單可下發1條,多次提交下條數獨立,相互不影響)”。

然而,用戶1次觸發7天內推送1條通知是明顯不夠用的。比如,簽到功能利用模板消息的推送來提醒用戶每天簽到,只能在用戶前一天簽到的情況下,獲取一次推送模板消息的機會,然后用于第二天向該用戶發送簽到提醒。但是很多情況下,用戶在某一天忘記簽到,系統便失去了提醒用戶的權限,導致和用戶斷開了聯系;再比如,系統想主動告知用戶即將做某活動,然而由于微信小程序被動觸發通知的限制,系統將無法主動推送消息。

如何突破模板消息的推送限制?

突破口:“1次提交表單可下發1條,多次提交下發條數獨立,相互不影響”

為了突破模板消息的推送限制,實現7天內任性推送,只需收集到足夠的推送碼,即每次提交表單時獲取到的formId。一個formId代表著開發者有向當前用戶推送模板消息的一次權限。

客戶端

收集推送碼

當表單組件中的屬性report-submit=true時表示發送模板消息,提交表單便可以獲取formId。接下來只要對原先的頁面進行改造,將用戶原先綁定了點擊事件的界面用表單組件中的button按鈕組件來代替,即把用戶的交互點擊的bindtap事件由表單bindsubmit來代替,從而捕獲用戶的點擊事件來生成更多的推送碼。

// 收集推送碼Page({  formSubmit: funcition(e) {let formId = e.detail.formId;this.collectFormIds(formId); //保存推送碼let type = e.detail.target.dataset.type; // 根據type執行點擊事件},   collectFormIds: function(formId) { let formIds = app.globalData.globalFormIds; // 獲取全局推送碼數組if (!formIds)      formIds = [];let data = {      formId: formId,      expire: new Data().getTime() + 60480000 // 7天后的過期時間戳}    formIds.push(data);    app.globalData.globalFormIds = formIds;},})

上報推送碼

等待用戶下一次發起網絡請求時,將globalFormIds發送給服務器。

// 上報推送碼Page({  onLoad: funcition(e) {this.uploadFormIds(); //上傳推送碼},   collectFormIds: function(formId) { var formIds = app.globalData.globalFormIds; // 獲取全局推送碼if (formIds.length) {      formIds = JSON.stringify(formIds); // 轉換成JSON字符串      app.globalData.gloabalFomIds = ''; // 清空當前全局推送碼}    wx.request({ // 發送到服務器      url: 'http://xxx',      method: 'POST',      data: {        openId: 'openId',        formIds: formIds},      success: function(res) {}});},})            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 调兵山市| 荔浦县| 岳阳县| 黑龙江省| 皋兰县| 盐山县| 二手房| 玉田县| 潢川县| 大田县| 天水市| 甘南县| 巨野县| 遵义县| 方山县| 墨竹工卡县| 安徽省| 横峰县| 玉山县| 板桥市| 南雄市| 讷河市| 磐石市| 平和县| 柯坪县| 武安市| 安泽县| 新建县| 福清市| 安义县| 石首市| 昌乐县| 修水县| 陇川县| 富平县| 常州市| 鄯善县| 兰西县| 望谟县| 天镇县| 青浦区|