前言
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
}
第五个坑
订阅消息申请模板的时候,需要选择所属类目,而且只能是自己小程序相关类目,模板消息是不需要选择对应类目的。
如果删除小程序类目,则会把订阅消息模板一起删除,需谨慎操作。
第六个坑
长期订阅消息只针对特定行业开放,所以普通开发者并无法使用。
结束
暂时就先总结这些,有其它坑再补充。
可以删除模板消息中的一些字段吗?
不论什么情况都需要下发权限吗 支付成功回调还需要掉弹框获取权限吗?
微信不会为开发者保存订阅次数,需要自己在后台记录用户触发的次数。
超过次数调用接口下发订阅消息会返回失败。
具体是限制多少次?有没有详细说明?
举例-当我只是选了取餐提醒,可是取餐提醒和会员积分变更提醒全都发了消息,如何知道用户选择了哪几个消息通知呢?小程序官方提供了相关接口吗?
微信开放平台,向非api方式注册的小程序添加订阅消息,小程序类目不符合订阅消息类目,添加不了,需要手动到微信后台设置类目
订阅消息返回的page如何定义 /pages/index/index?id=123 我是这么定义的 但是显示的是小程序尚未发布是什么原因?
第三方平台是面向各行各业的,这是要搞死人,模板消息没有类目的限制,还可以系统预设一套,为用户小程序一键创建模板消息;
tmplIds
里传递100个同一份id会只生效一次还是100次,有知道的吗?
楼主我这里踩到了一个坑,同一条订阅消息,每天第一次发送的时候可以发送成功,后面则出现以下错误:
{"errcode":40001,"errmsg":"invalid credential, access_token is invalid or not latest hints: [UEMFGH3MRa-LlKm!]"}
关于 access_token,我是每次调用订阅消息之前都会获取一次最新的,目前这种情况,在体验版出现过两次了,请问楼主能大概知道我这个问题是出在哪里了吗
我这里还发现一个问题,个别机型唤起的订阅消息弹窗样式不对,是Alert类型的,真的是不知道怎么搞了...
机型:华为nova4
安卓:9.1