最近在做一个项目因为需求所以要用到推送功能,然后社区大佬和我说微信订阅开通了,我开心的去用了,试下来的确香,省去了获取formid还有7天限制等繁琐限制与步骤,但是今天测试的时候后台平凡给我报错,最后发现是wx.requestSubscribeMessage点击一次才会收到一条推送,我是大写的黑人脸问号,那我想问既然这样的话这东西点击 记住选择的操作有什么用?要是客户以为需求只是绑定了一下小程序就一直在pc端操作是不是就只能收到一条信息?或者说我应该在点击订阅的时候给写个几百次循环然后让客户定期去点一次呢?感觉很不合理啊,有没有官方的大神给我说说?
这也是一个办法
几百次循环? 大哥不要开玩笑, 不友好的举动, 会引起微信的封杀
一次性订阅只能发一次。也有“长久订阅”。订阅消息要贴切订阅的场景,用户清楚小程序发送消息的内容格式,确实是从用户角度出发。并不能做主动推送。
关键问题在于用户引导、贴切的使用场景。
wx.requestSubscribeMessage({
tmplIds: [
//到离校通知 '',
//上课提醒 '',
//停调课通知
'',
//学费缴纳 '',
//补课提醒 '' //一次性订阅
],
success(res) {
//console.log(res)
for
(var key in res) {
if
(key !=
'errMsg'
) {
if
(res[key] ==
'reject'
) {
wx.showModal({
title:
'订阅消息'
,
content:
'您已拒绝了订阅消息,如需重新订阅请前往设置打开。'
,
confirmText:
'去设置'
,
//showCancel: false,
success: res => {
if
(res.confirm) {
wx.openSetting({})
}
}
})
return
}
else
{
wx.showToast({
title:
'订阅成功'
})
}
}
}
},
fail(res) {
//
console.log(res)
/*20004-errorCode*/
wx.showModal({
title:
'订阅消息'
,
content:
'您关闭了“接收订阅信息”,请前往设置打开!'
,
confirmText:
'去设置'
,
showCancel:
false
,
success: res => {
if
(res.confirm) {
wx.openSetting({})
}
}
})
},
})
不容易,微信确实可以屏蔽很多垃圾推送,就是产品和开发就很难了。