前言
10月12日夜晚社区发了公告小程序模板消息能力调整通知,正式发布了 一次性订阅消息 这一能力,所以第一时间进行了体验。
本文主要是补充一下官方未提供的使用方法,和使用中与模板消息用法的不同。
文档地址
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/subscribe-message.html
使用方法
wx.requestSubscribeMessage({
tmplIds: ["模板id1","模板id2"],
success: function (res) {
//成功
},
fail(err) {
//失败
console.error(err);
}
})
第一个坑
如果不勾选红色方框内的内容,用户每次触发订阅消息功能都会弹出授权窗口,如果用户勾选了则不会出现弹窗。
第二个坑
目前开发者工具(v1.02.191012)不支持调试,只能通过真机调试。
第三个坑
微信不会为开发者保存订阅次数,需要自己在后台记录用户触发的次数。
超过次数调用接口下发订阅消息会返回失败。
第四个坑
发送模板格式和原来的模板消息格式不一致,特别是data内的内容,订阅消息的字段key是和数据类型有关,value的参数需要严格按照设置的类型提交,具体使用参考后台的模板详情。
模板消息的格式:
"data": {
"keyword1": {
"value": "内容",
"color": "#000"
},
"keyword2": {
"value": "内容",
"color": "#000"
}
}
订阅消息的格式:
"data": {
"thing1": {
"value": "内容"
},
"number2": {
"value": 20
}
第五个坑
订阅消息申请模板的时候,需要选择所属类目,而且只能是自己小程序相关类目,模板消息是不需要选择对应类目的。
如果删除小程序类目,则会把订阅消息模板一起删除,需谨慎操作。
第六个坑
长期订阅消息只针对特定行业开放,所以普通开发者并无法使用。
结束
暂时就先总结这些,有其它坑再补充。
大佬呀,“超过次数” 这个次数是多少呀,从哪里得知?
想问一下,我在申请订阅模版的时候,如果参数类型是需要输入汉字,但是汉字需要5个以内,满足不了需求 怎么办?
刚入坑,有几点问题求解答一下
1.requestSubscribeMessage接口获取订阅消息授权时,模板ID一次最多只能放三个吗?
2.因为要做考勤推送提醒等通知信息,如果用户长时间不操作小程序,那通知是不是没有办法发送?
2.只要订阅1次就能发送一次,没有订阅就不可以发送,没有失效时间。
请问这个是必须用户主动点击才能触发,还是可以进入某个页面自动触发弹出订阅消息弹窗??
必须用户点击触发
请问怎么判断用户是否勾选了“总保持以上选择,不再询问”?
那评论提醒功能还是做不了啊
补充一个:
勾选「不再询问」之后,就算删掉小程序再打开,用户点击也不会出现弹窗。
目前发现的办法只能是新增模板,换一个模板 ID
有几个问题想咨询下:
1、用户勾选了“总保持以上选择,不再询问”,会有字段记录勾选这个选项吗?
2、如果用户勾选了“总保持以上选择,不再询问”,后续用户想关了这个订阅消息怎么办
2.只能让用户自己从设置里修改
只能根据发送失败回调判断,自己维护状态信息
比如我现在一个订单下完,调用了一次
,另外一个订单下完,又调用了一次
那我怎么区分两次订单呢?他会下发的是哪一条消息呢?(一次性订阅)
如何获取订阅状态啊?现在必须要点击订阅按钮才能获取订阅状态。如果用户在设置中取消勾选消息,那么后台发送消息会失败。重新勾选消息,需要再次点击订阅按钮才能再次发送消息,这个逻辑很怪呀。