前言
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
}
第五个坑
订阅消息申请模板的时候,需要选择所属类目,而且只能是自己小程序相关类目,模板消息是不需要选择对应类目的。
如果删除小程序类目,则会把订阅消息模板一起删除,需谨慎操作。
第六个坑
长期订阅消息只针对特定行业开放,所以普通开发者并无法使用。
结束
暂时就先总结这些,有其它坑再补充。
请问一下https调用一直返回,{"errcode":43101,"errmsg":"user refuse to accept the msg hint: [BPDMta02563929]"};
而且不会弹出订阅授权框是为什么
<form bindsubmit'submit' report-submit="true">
submitSendForm:function(e) {
var formid = e.detail.formId;
wx.request({
url: app.globalData.hostUrl + '/api/sendMsg',
method: "POST",
data:{
formId: formid
},
header: {
"Content-type":"application/json"
},
success:function(res){
console.log(res.data)
},
fail:function(err){
console.log(err);
}
})
}
我写了一个这样的测试,小程序传formId, 后台得到openid,.
返回的结果就是43101用户拒绝.
懵逼了, 前几天我测试还可以
form bindsubmit="submitSendForm" report-submit
button form-type="submit" 订阅 button
form
一天可以采集多少次 用户授权啊?
你好,真机调试,订阅消息成功, 但是服务通知收不到消息? 自己创建云函数调用的
// 拿到模板id
const template_id = '1S0VvnKudISBpgdTvg89tUtTF-Dg1CSdLDjh2BDdGvw'
const { OPENID } = cloud.getWXContext()
return cloud.openapi.subscribeMessage.send({
"touser": OPENID
"template_id": template_id,
"data": {
"keyword1": {
"value": "今天"
},
"keyword2": {
"value": "2019年12月19日 18:60:00"
},
"keyword3": {
"value": "¥200.00"
},
"keyword4": {
"value": "请您及时查收。"
},
"keyword5": {
"value": "转账成功。"
}
}
})
求解决办法
感谢楼主的分享~
关于上边这一点,想请教一下,订阅次数用完之后,再频繁请求消息下发接口会不会被微信封号??官方的联系方式在哪里能找到呢?
微信作为独裁者,就是万恶之源
我想请问一下,后端调用微信官方api成功后会返回什么值?
经测试发现:1.接口wx.requestSubscribeMessage在Android7.0.9版本上,有概率不返回的情况(任何回调都不调用)
2.该接口的其他缺点不一一吐槽了
我想问一个模板配置的问题,我配置订阅消息模板的时候最多选择5个关键字,这个可以申请更多的数量吗
请问前端小程序登录的用户同意了订阅消息,后端发送订阅消息时把openid换了,是不是返回43101拒绝订阅啊
我想问一下 触发这个api之后用户授权完成 是不是以后用户都不用再次授权就可以给用户推送消息了 有时间限制吗