小程序
小游戏
企业微信
微信支付
扫描小程序码分享
微信小程序一次性订阅消息功能开发,在开发者工具中订阅成功的消息,后端可以正常的推送,真机订阅成功的消息,推送时显示用户拒绝,是缺少什么配置
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
以真机调试为准。。。一次性订阅消息:用户订阅多少次,才能发送成功多少次给该用户,用完就显示拒绝了。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
export const SubscribeMessage = (tmplIds) => {
return new Promise((resolve, reject) => {
wx.getSetting({
withSubscriptions: true, // 设置为 true 才会返回 mainSwitch
success: function (res) {
console.log('getSetting', res)
// 调起授权界面弹窗
if (res.subscriptionsSetting.mainSwitch) {
// 用户打开了订阅消息总开关
if (res.subscriptionsSetting.itemSettings != null) {
console.log('====================您已选择总是总是以上选择====================')
// 用户同意总是保持是否推送消息的选择, 这里表示以后不会再拉起推送消息的授权
let moIdState = res.subscriptionsSetting.itemSettings[tmplIds] // 用户同意的消息模板id
if (moIdState === 'accept') {
console.log('接受了消息推送')
resolve('accept')
} else if (moIdState === 'reject') {
console.log('拒绝消息推送')
reject('reject')
} else if (moIdState === 'ban') {
console.log('已被后台封禁')
reject('ban')
}
} else {
// 当用户没有点击 "总是保持以上选择,不再询问" 按钮。那每次执到这都会拉起授权弹窗
wx.requestSubscribeMessage({
// 调起消息订阅界面
tmplIds: tmplIds,
success(res) {
console.log('第一次订阅成功', res)
},
fail(err) {
console.log('第一次订阅失败', err)
reject('fail')
})
专门测试真机,点击订阅10次,你再看是否能发送。
一次性消息一次授权只能推送一条的,再推送一条则需要再次申请授权,用户同意后才能再推送一条,检查是否推送了不止一条
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
以真机调试为准。。。一次性订阅消息:用户订阅多少次,才能发送成功多少次给该用户,用完就显示拒绝了。
export const SubscribeMessage = (tmplIds) => {
return new Promise((resolve, reject) => {
wx.getSetting({
withSubscriptions: true, // 设置为 true 才会返回 mainSwitch
success: function (res) {
console.log('getSetting', res)
// 调起授权界面弹窗
if (res.subscriptionsSetting.mainSwitch) {
// 用户打开了订阅消息总开关
if (res.subscriptionsSetting.itemSettings != null) {
console.log('====================您已选择总是总是以上选择====================')
// 用户同意总是保持是否推送消息的选择, 这里表示以后不会再拉起推送消息的授权
let moIdState = res.subscriptionsSetting.itemSettings[tmplIds] // 用户同意的消息模板id
if (moIdState === 'accept') {
console.log('接受了消息推送')
resolve('accept')
} else if (moIdState === 'reject') {
console.log('拒绝消息推送')
reject('reject')
} else if (moIdState === 'ban') {
console.log('已被后台封禁')
reject('ban')
}
} else {
// 当用户没有点击 "总是保持以上选择,不再询问" 按钮。那每次执到这都会拉起授权弹窗
wx.requestSubscribeMessage({
// 调起消息订阅界面
tmplIds: tmplIds,
success(res) {
console.log('第一次订阅成功', res)
resolve('accept')
},
fail(err) {
console.log('第一次订阅失败', err)
reject('fail')
}
})
}
} else {
专门测试真机,点击订阅10次,你再看是否能发送。
一次性消息一次授权只能推送一条的,再推送一条则需要再次申请授权,用户同意后才能再推送一条,检查是否推送了不止一条