小程序订阅消息发送返回:43101 user refuse to accept the msg rid: 5f7184ff-5448020d-6384be15。
原因。请不要被文档中。getSetting接口迷惑。以下说明下正常业务逻辑
1.我们开发者会自己提示一个窗口告诉用户,如果你不允许,则不会收到对应通知。(这是一个弹窗提示内容)
2.接下来调用subscriptionsSetting接口来调用通知授权。(这里的长期允许授权是指:后续此类的不会在弹窗,是弹窗,弹窗,而不是以后都接收此类消息。这里和社区很多人说的发送次数类似),每次你调用subscriptionsSetting接口,用户允许则允许发送一次。懂了吧
3.正常业务操作。
以下来说文档中getSetting接口,它只是告诉你用户是不是长期允许某个通知而已。比如你获取到用户已经长期允许了。那么你还需要调用subscriptionsSetting,调用subscriptionsSetting,调用subscriptionsSetting的重要的事说三遍。你不能省略subscriptionsSetting,只不过通过getSetting你可以省略步骤1。减少提示弹窗而已。懂了么。不要省略subscriptionsSetting,只有触发subscriptionsSetting你才可以通知。
这就是为什么很多人莫名其妙的收不到通知的问题。
重点:不要被通知弹窗出来的“”迷惑,它只是说以后不会弹出来,而不是以后都会接收(其实应该说,每调用subscriptionsSetting一次,就允许给用户发一次。不调用则没办法给用户发送。)。。。。这是个坑。所以注意。记住不要在代码里,通过getSetting获取到用户永久授权,你就不调用subscriptionsSetting了。还是必须调用。
道理我懂了,请问subscriptionsSetting该如何调用,还有请问一下一次性消息模版可以实现不再询问,但一直通知的效果吗
早就知道了
学到了,我之前就是误解了,原来是这个原因。
本质还是这设计的有问题,哈哈哈
getSetting可以减少弹窗???