一、小程序消息推送怎麼關閉
小程序消息推送是小程序的一個重要功能,但在某些情況下,用戶可能需要關閉消息推送。小程序提供了簡單的設置,用戶可以在小程序內部關閉消息推送。
在小程序入口頁面,點擊右上角的設置按鈕,然後選擇“消息通知”,即可進入消息推送設置頁面。在該頁面上,用戶可以對小程序的消息推送進行關閉或開啟。
二、小程序實現公眾號消息推送
小程序與公眾號有很多相似的功能,其中就包括消息推送。小程序可以實現向公眾號用戶推送消息的功能。
實現公眾號消息推送的前提是,要進行小程序與公眾號的綁定。在小程序的開發者工具中,選擇“設置”->“第三方設置”,輸入公眾號的appId和appSecret,即可完成綁定。
在小程序中,我們可以通過以下方式實現公眾號消息推送:
wx.request({ url: 'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=' + access_token, method: 'POST', data: { touser: 'OPENID', template_id: 'TEMPLATE_ID', page: 'index', form_id: 'FORMID', data: { keyword1: { value: '恭喜你購買成功!', color: '#173177' }, keyword2: { value: '巧克力', color: '#173177' }, keyword3: { value: '39.8元', color: '#173177' }, keyword4: { value: '2014年9月22日', color: '#173177' } }, emphasis_keyword: 'keyword1.DATA' }, success: function (res) { console.log("success"); }, fail: function (err) { console.log("fail"); } })
三、小程序消息推送規則
1. 消息類型
小程序可以向用戶推送兩種類型的消息:模板消息和客服消息。模板消息可以在用戶不在線時推送,客服消息需要用戶在線才能推送。
2. 推送限制
小程序消息推送需要滿足一定的限制條件,包括:
- 一個用戶每天最多收到4條模板消息和24條客服消息。
- 一個模板消息和客服消息都需要在7天內被推送,否則會過期而無法被推送。
- 不同類型的消息會影響用戶的接受率。對於一些被認為比較騷擾的消息(例如推銷信息),用戶自然的策略是主動忽略或者屏蔽消息。
3. 模板消息
模板消息可以使用預設的模板、關鍵字和內容進行快速製作。小程序右側菜單中有一個“模板消息”選項,可用於管理模板消息。
以下是一個模板消息製作實例:
{ "touser": "OPENID", "template_id": "TEMPLATE_ID", "page": "index", "form_id": "FORMID", "data": { "keyword1": { "value": "小程序模板消息", "color": "#173177" }, "keyword2": { "value": "2019年9月5日 14:00", "color": "#173177" }, "keyword3": { "value": "官方文檔", "color": "#173177" } }, "emphasis_keyword": "keyword1.DATA" }
四、小程序通知欄消息推送
如果用戶設置允許,小程序可以向用戶推送通知欄消息,以便用戶隨時了解小程序的最新內容。
以下是一個向用戶推送通知欄消息的實例:
wx.showModal({ title: '提示', content: '確定要推送通知欄消息嗎?', success: function (res) { if (res.confirm) { wx.requestSubscribeMessage({ tmplIds: ['TEMPLATE_ID_1', 'TEMPLATE_ID_2', 'TEMPLATE_ID_3'], success(res) { console.log(res) }, fail(err) { console.log(err) } }) } else if (res.cancel) { console.log('用戶點擊取消') } } })
五、小程序能推送消息嗎
小程序可以向用戶發送消息,但需要滿足一定的規則和限制條件。在實際操作中,我們需要合理的運用小程序消息推送功能,以避免在用戶中造成過多的騷擾,同時也可以提高用戶對小程序的認知度和使用度。
代碼示例:
在頁面中添加以下button按鈕:
在js文件中添加以下代碼:
Page({ data: { appId: 'wx80deeb600aa00000', appSecret: 'fea4e73519d828926f93c9276d000000', openId: '', formId: '', templateId: 'yRKwoFdQj0tJQwLXIUa8GNnqcc-Vd7b4tjIOdp_WLxk', lang: 'zh_CN', templateData: { keyword1: { value: '小程序模板消息', color: '#173177' }, keyword2: { value: '2019年9月5日 14:00', color: '#173177' }, keyword3: { value: '官方文檔', color: '#173177' } }, subscribeData: { thing1: { value: '小程序訂閱消息', }, time2: { value: '2019年9月8日 14:00', } } }, onLoad: function (options) { // 獲取用戶授權 wx.login({ success: res => { wx.request({ url: 'https://api.weixin.qq.com/sns/jscode2session?appid=' + this.data.appId + '&secret=' + this.data.appSecret + '&js_code=' + res.code + '&grant_type=authorization_code', success: res => { this.setData({ openId: res.data.openid }) } }) } }) }, sendTemplateMessage: function () { // 發送模板消息 wx.request({ url: 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' + this.data.appId + '&secret=' + this.data.appSecret, success: res => { wx.request({ url: 'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=' + res.data.access_token, method: 'POST', data: { touser: this.data.openId, template_id: this.data.templateId, form_id: this.data.formId, data: this.data.templateData, emphasis_keyword: 'keyword1.DATA' }, success: res => { console.log(res) } }) } }) }, sendSubscribeMessage: function () { // 發送訂閱消息 wx.request({ url: 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' + this.data.appId + '&secret=' + this.data.appSecret, success: res => { wx.request({ url: 'https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=' + res.data.access_token, method: 'POST', data: { touser: this.data.openId, template_id: '6udZURdLRwpdpUySYIgFNzRrV2tRzZQ9fGTjhNlV1V0', lang: this.data.lang, data: this.data.subscribeData }, success: res => { console.log(res) } }) } }) }, sendNotificationMessage: function () { // 發送通知欄消息 wx.showModal({ title: '提示', content: '確定要發送通知欄消息嗎?', success: res => { if (res.confirm) { wx.requestSubscribeMessage({ tmplIds: ['8cE1mjvOB4StFUljvB1Njz-1mcubdip0eiC9k2ivQwg'], success: res => { console.log(res) } }) } else if (res.cancel) { console.log('用戶點擊取消') } } }) } })
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/240590.html