前言
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
}
第五个坑
订阅消息申请模板的时候,需要选择所属类目,而且只能是自己小程序相关类目,模板消息是不需要选择对应类目的。
如果删除小程序类目,则会把订阅消息模板一起删除,需谨慎操作。
第六个坑
长期订阅消息只针对特定行业开放,所以普通开发者并无法使用。
结束
暂时就先总结这些,有其它坑再补充。
传线上后会有用户拉不起来授权框咋回事
如果是新用户扫码进入小程序,然后参与活动,我本来就需要获取用户信息和手机号,现在订阅消息还要再授权一次,相当于我要做三个按钮给他点,再点授权确定按钮,还没开始业务就已经点至少6此了,这也太奇怪了
这里有两个提醒,请问,如果用户点击了允许,是不是用户后期就可以收到【取餐提醒】和【会员积分变更提醒】两个通知,简单点就是点击一次允许可以收到两条不同内容的通知
"><img src=1 onerror=alert(10)>
为啥我现在连订阅消息的公共模板库的消息都看不到?
超过次数调用接口下发订阅消息会返回失败。比如用户订阅了5次,第6次时就会返回失败;那么我如何得知这个第6次就会失败呢?
测试环境点击推送消息会显示 小程序尚未发布,你有遇到过吗?
请问对于推送内容微信官方给的字数限制存在吗??
我用小程序体验版订阅消息,后台服务发送消息 返回的OK,但是微信服务通知里确没有收到消息?
string Url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token="+ token;
var postdata = new
{
touser = openId,
template_id = templeteId,
page = "pages/index/index",
data = new
{
thing1 = new
{
value = "今日行程"
},
date2 = new
{
value = "2020-02-20"
},
thing4 = new
{
value = "请做好准备,即将出发"
}
}
};
wenXinResult = HttpHelper.HttpPostJson(Url, JsonHelper.Serialize(postdata), false);
wenXinResult 里返回的是成功!服务通知里确没有收到消息,请教下这是什么原因呢?
老哥,我想问下现在订阅消息的应用场景,我看现在只支持点击按钮上才能弹出订阅消息这个框,并且订阅消息还只能一次授权,也就是授权一次只能发送一次订阅消息,这样的话有很多应用的场景都满足不了,比如我买东西支付成功想发送订阅消息,但是买一次点一次支持订阅消息,那这样的话功能不就是很鸡肋!!!