官方示例代码:
wx.requestSubscribeMessage({
tmplIds: [''],
success (res) { }
})
下发条件:
1. 写在button或者支付的回调里
----否则报错 fail can only be invoked by user TAP gesture
2. 点一次订阅一条
----微信不会为开发者保存订阅次数,需要自己在后台记录用户触发的次数。超过次数调用接口下发订阅消息会返回失败。
3. 没有过期时间,支持长期订阅,但只针对于部分服务开放(很少)
其他说明:
1. 开发者工具不支持调试,只能通过真机调试
2. 不点击 "总是保持以上选择,不再询问",同一条订阅消息,就会一直弹弹弹
3. 根据回调函数具体值 accept/reject 判断是否订阅成功
点击允许
errMsg: "requestSubscribeMessage:ok"
qqUGH3IVCMh1re2kF1Q_TndoCPqekcJ51RMe7COIQcw: "accept"
点击取消
errMsg: "requestSubscribeMessage:ok"
qqUGH3IVCMh1re2kF1Q_TndoCPqekcJ51RMe7COIQcw: "reject"
4. 勾选了不再询问后,再点击允许:设置-订阅消息-默认勾选了该条订阅消息,且不再弹起授权弹框
再次调用时默认accept
若关闭后,再次调用时默认reject
5. 勾选了不在询问后,能恢复授权弹窗吗?
官:不可以,除非有新的订阅消息发起授权,单页不会有之前授权过的消息选项
利用wx.openSetting引导用户再打开(只控制是否订阅,也不会再有弹框)
文档参考:
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/subscribe-message.html
https://developers.weixin.qq.com/community/develop/doc/00008a8a7d8310b6bf4975b635a401?blockType=1
https://developers.weixin.qq.com/community/develop/article/doc/000c668eef0e2095a46930e6058413
1. 开发者工具不支持调试,只能通过真机调试 这里可以下载个(开发版。目前支持了订阅消息)