- API 概览
- 开放能力
- 基础
- 渲染
- 设备
- 文件
- 位置
- 媒体
- 网络
- 游戏转发分享
- 实时语音
- 数据缓存
- 系统
- 广告
- 界面
- 支付
- Worker
tt.requestSubscribeMessage收藏我的收藏
收藏
我的收藏调起客户端订阅消息界面,返回用户订阅消息的操作结果。当用户勾选了订阅面板中的 “总是保持以上选择,不再询问” 时,或是点击了订阅面板中 “拒绝,不再询问” 时,模板消息会被添加到用户的小程序设置页,用户可以在设置页面进行管理。
语法
JavaScript复制tt.requestSubscribeMessage(options)
参数说明
options
为 object 类型,属性如下:属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
tmplIds | Array | | 是 | 需要订阅的消息模板的 id 的集合,最多支持传入三个 tmplId | 1.73.0 |
success | Funtion | | 否 | 接口调用成功的回调函数 | 1.73.0 |
complete | Funtion | | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) | 1.73.0 |
fail | Funtion | | 否 | 接口调用失败的回调函数 | 1.73.0 |
回调成功
回调成功参数为 object 类型,属性如下:
属性 | 类型 | 说明 |
errMsg | string | "requestSubscribeMessage:ok" |
TEMPLATE_ID | string | [TEMPLATE_ID]为模板 id |
TEMPLATE_ID
值 | 说明 |
accept | 用户同意订阅该条 id 对应的模板消息 |
reject | 用户拒绝订阅该条 id 对应的模板消息 |
ban | 表示已被后台封禁 |
fail | 表示该条 id 对应的模版消息授权失败 |
示例:
json复制// 以下返回值表示用户同意订阅 [YOUR_TEMPLATE_ID] 这条消息
{
"errMsg": "requestSubscribeMessage:ok",
"[YOUR_TEMPLATE_ID]": "accept"
}
回调失败
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
errMsg | string | 接口调用失败错误信息 | 1.73.0 |
errCode | number | 1.73.0 |
错误码
errCode | errNo | errMsg | 说明 |
1001 | 暂时未加 | no permission | 没有权限(白名单配置,暂无需关注) |
1002 | 20000 | invalid params | 参数不合法 |
1003 | 20000 | template counts out of max bounds | 模版消息个数超过限制(最多 3 个) |
1004 | 21101 | template not exist or invalid | 模版消息不存在或不合法 |
1005 | 21102 | template type not the same | 模版消息类型不一致,或者订阅消息是多个并包含了版本更新提醒。 在 tmplIds 数组中,多个模板 id 代表的模板类型(一次性或者永久)和 消息类型(分为普通消息和版本更新消息两类)都应该分别保持一致。例如:tmplIds 中的所有模版 id 代表的模板类型统一为一次性,消息类型全部为普通消息。 |
2001 | 21103 | network error | 网络问题 |
2002 | 21104 | service error | 服务错误 |
3001 | 21105 | auth deny | 拒绝授权 |
3002 | 21106 | login deny | 拒绝登录 |
4001 | 21107 | request count out of limit | 请求次数超过限制 (二期弹窗频控取消,不会再出现) |
4002 | 21108 | main switch off | 总开关关闭 |
4003 | 21109 | templates switches all off | 请求模版消息开关均关闭 |
4004 | 21110 | forbidden | 后台封禁 |
暂时未加 | 暂时未加 | not supported by current application | 宿主不支持 |
5001 | 10401 | Internal error: \${附加信息} | 内部错误 |
代码示例
js复制// index.js
const tmplIds = ["MSGxx", "MSGxx"];
tt.requestSubscribeMessage({
tmplIds: tmplIds,
complete: (res) => {
tt.showModal({
title: "订阅完成",
content: JSON.stringify(res),
});
},
});
Bug & Tip
- •Tip:只允许在以下时机中调用:点击事件、支付回调函数。
- •Tip:最多一次可以传入三个模版 ID。
- •Tip:模版分为一次性模版和长期性模版,一次性模版 ID 和长期性模版 ID 不可同时使用。
- •Tip:版本更新提醒需要单独订阅。与其他混合的情况下会产生 1005 错误。
点击纠错