wx.requestSubscribeMessage¶
- wx.requestSubscribeMessage({tmplIds[,success][,fail][,complete]})¶
- Label
调起客户端小程序订阅消息界面,返回用户订阅消息的操作结果。 当用户勾选了订阅面板中的“总是保持以上选择,不再询问”时,模板消息会被添加到用户的小程序设置页, 通过 wx.getSetting 接口可获取用户对相关模板消息的订阅状态。
以 Promise 风格 调用:支持
小程序插件:不支持
微信 Windows 版:支持
微信 Mac 版:支持
- Note
注意事项
一次性模板 id 和永久模板 id 不可同时使用。
低版本基础库2.4.4~2.8.3 已支持订阅消息接口调用,仅支持传入一个一次性 tmplId / 永久 tmplId。
2.8.2 版本开始,用户发生点击行为或者发起支付回调后,才可以调起订阅消息界面。
2.10.0 版本开始,开发版和体验版小程序将禁止使用模板消息 formId。
一次授权调用里,每个tmplId对应的模板标题不能存在相同的,若出现相同的,只保留一个。
2.10.0 版本开始,支持订阅语音消息提醒,详情
- 参数
tmplIds (
Array()
) – 需要订阅的消息模板的id的集合,一次调用最多可订阅3条消息(注意:iOS客户端7.0.6版本、Android客户端7.0.7版本之后的一次性订阅/长期订阅才支持多个模板消息,iOS客户端7.0.5版本、Android客户端7.0.6版本之前的一次订阅只支持一个模板消息)消息模板id在[微信公众平台(mp.weixin.qq.com)-功能-订阅消息]中配置。每个tmplId对应的模板标题需要不相同,否则会被过滤。success({errMsg,TEMPLATE_ID}) (
function()
) –接口调用成功的回调函数
errMsg**|(**String)|接口调用成功时errMsg值为’requestSubscribeMessage:ok’
TEMPLATE_ID**|(**String)|[TEMPLATE_ID]是动态的键,即模板id,值包括
accept 表示用户同意订阅该条id对应的模板消息,
reject 表示用户拒绝订阅该条id对应的模板消息,
ban 表示已被后台封禁,
filter 表示该模板因为模板标题同名被后台过滤
例如
{ errMsg: "requestSubscribeMessage:ok", zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE: "accept" }
表示用户同意订阅 zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE 这条消息
fail({errMsg,errCode}) (
function()
) –否|接口调用失败的回调函数
complete (
function()
) – 否|接口调用结束的回调函数(调用成功、失败都会执行)
- 示例
wx.requestSubscribeMessage({ tmplIds: [''], success (res) { } })
错误码
errCode |
errMsg |
说明 |
---|---|---|
10001 |
TmplIds can’t be empty |
参数传空了 |
10002 |
Request list fail |
网络问题,请求消息列表失败 |
10003 |
Request subscribe fail |
网络问题,订阅请求发送失败 |
10004 |
Invalid template id |
参数类型错误 |
10005 |
Cannot show subscribe message UI |
无法展示 UI,一般是小程序这个时候退后台了导致的 |
20001 |
No template data return, verify the template id exist |
没有模板数据,一般是模板 ID 不存在 或者和模板类型不对应 导致的 |
20002 |
Templates type must be same |
模板消息类型 既有一次性的又有永久的 |
20003 |
Templates count out of max bounds |
模板消息数量超过上限 |
20004 |
The main switch is switched off |
用户关闭了主开关,无法进行订阅 |
20005 |
This mini program was banned from subscribing messages |
小程序被禁封 |