一、小程序消息推送怎么关闭
小程序消息推送是小程序的一个重要功能,但在某些情况下,用户可能需要关闭消息推送。小程序提供了简单的设置,用户可以在小程序内部关闭消息推送。
在小程序入口页面,点击右上角的设置按钮,然后选择“消息通知”,即可进入消息推送设置页面。在该页面上,用户可以对小程序的消息推送进行关闭或开启。
二、小程序实现公众号消息推送
小程序与公众号有很多相似的功能,其中就包括消息推送。小程序可以实现向公众号用户推送消息的功能。
实现公众号消息推送的前提是,要进行小程序与公众号的绑定。在小程序的开发者工具中,选择“设置”->“第三方设置”,输入公众号的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/n/240590.html
微信扫一扫
支付宝扫一扫