# 订阅消息(选接)

基于抖音的通知渠道,抖音小游戏为开发者提供了可以高效触达用户的订阅消息能力,以便实现服务的闭环并提供更佳的体验。开发者在游戏内,可向用户发起消息订阅。开发者需后台自行记录用户是否订阅成功及订阅成功的次数。

用户在小游戏中订阅指定的消息内容后,开发者可以在后台通过下发消息服务把一条模版消息发送给用户,用户最终在抖音的 “消息-游戏通知” 中收到。

用户成功订阅一次,开发者可在游戏认为场景合适的时机,向该用户发下一条模版消息。

# 一次性订阅消息

# 接口说明

用于在游戏内打开一次性订阅消息界面,返回用户订阅消息的操作结果;若用户勾选了订阅面板中的 总是保持以上选择,不再询问,模板消息会被添加到用户的游戏设置页;当用户成功订阅一次,开发者可在游戏认为场景合适的时机,向该用户下发一条模版消息(了解更多可查看小游戏订阅消息能力介绍)。

特别提醒

抖音的消息订阅测试下来表现跟微信的不太一样,如 体力满时 的订阅的表现如下:
1、点击订阅按钮1次,能发成功2次推送
2、点击订阅按钮2次,当体力满时会消耗1次次数,此时右上角关闭 体力满订阅 通知,体力再次满时推送不成功,跟微信表现一致
3、点击订阅按钮2次,当体力满时会消耗1次次数,此时右上角关闭 体力满订阅 通知,在体力满之前再次开启,当满时再次推送有时可以有时不可以,跟微信表现不一致
4、抖音没有获取订阅状态方法

总结:测试下来抖音消息订阅表现跟微信不尽相同。总之,研发不用管这些逻辑细节,按照下面 code 值去做对应的操作即可。


关于一次性订阅消息的推送配置,请阅读SDK开放平台操作指南 > 订阅配置 (opens new window)(2.0.8版本新增)。

sdkInstance.subscribeMessage(options);

最低基础库版本要求

若用户客户端基础库版本低于 1.73.0,调用 sdkInstance.subscribeMessage(options) 接口将中断用户当前操作并弹出升级提示,不会报错!

# 参数说明

参数说明如下表所示:

选项 类型 必填 默认值 说明
tmplIds string[] -- 需要订阅的消息模板 id 集合,一次调用最多可订阅 3 条消息;可登录《抖音开放平台控制台》后台,进入“运营 > 运营能力 > 订阅消息”栏目中配置及查看一次性订阅消息 id(MSG开头)
success function -- 订阅成功的回调函数
fail function -- 订阅失败的回调函数
complete function -- 订阅完成的回调函数,成功或失败均会调用

# 返回值说明

WARNING

返回值格式:JSON 格式。

选项 类型 说明
code number/string 订阅状态码:
- 0 表示订阅成功
- ban 表示被微信临时性禁用,过几天会自动解除,可以提示 `该订阅功能暂时受限,请稍后再试`
- reject 表示用户拒绝,需引导用户右上角开启
- 其他 表示订阅失败
data object 订阅成功时返回用户订阅消息的操作结果,失败时返回 null
    data[TEMPLATE_ID] string [TEMPLATE_ID]是动态的键,即模板 id,值包括 acceptrejectbanfail,其中 accept 表示用户同意订阅该条 id 对应的模板消息,reject 表示用户拒绝订阅该条 id 对应的模板消息,ban 表示已被后台封禁,fail 表示该条 id 对应的模版消息授权失败
message string 订阅成功或失败时的相应描述信息

# 示例代码

注:示例代码中的参数或选项均为演示数据,仅供参考,谢谢!

// 若用户客户端基础库版本低于 1.73.0,调用此接口将中断用户当前操作并弹出升级提示,不会报错!
sdkInstance.subscribeMessage({
  tmplIds: ["MSGxx", "MSGxx", "MSGxx"], // 一次调用最多可订阅3条消息
  success: function(response) {
    console.log(response.code); // 订阅状态码,0 表示订阅成功; ban 表示被微信临时性禁用; reject 表示用户拒绝; 其他表示订阅失败;
    console.log(response.data); // 用户订阅消息的操作结果
  },
  fail: function(error) {
    console.log(error); // 订阅失败的错误信息,error.message为错误消息
  },
  complete: function(result) {
    // do something here...
  }
});

# 长期订阅消息

# 接口说明

用于在游戏内打开长期订阅消息界面,返回用户订阅消息的操作结果;若用户勾选了订阅面板中的 总是保持以上选择,不再询问,模板消息会被添加到用户的游戏设置页;当用户成功订阅一次,开发者可长期下发多条消息(了解更多可查看小游戏订阅消息能力介绍)。

关于长期订阅消息的推送配置,请阅读SDK开放平台操作指南 > 订阅配置 (opens new window)(2.0.8版本新增)。

sdkInstance.subscribeLongestMessage(options);

最低基础库版本要求

若用户客户端基础库版本低于 1.73.0,调用 sdkInstance.subscribeLongestMessage(options) 接口将中断用户当前操作并弹出升级提示,不会报错!

# 参数说明

参数说明如下表所示:

选项 类型 必填 默认值 说明
tmplIds string[] -- 需要订阅的消息模板 id 集合,一次调用最多可订阅 3 条消息;可登录《抖音开放平台控制台》后台,进入“运营 > 运营能力 > 订阅消息”栏目中配置及查看长期订阅消息 id(MSG开头)
success function -- 订阅成功的回调函数
fail function -- 订阅失败的回调函数
complete function -- 订阅完成的回调函数,成功或失败均会调用

# 返回值说明

WARNING

返回值格式:JSON 格式。

选项 类型 说明
code number/string 订阅状态码:
- 0 表示订阅成功
- ban 表示被微信临时性禁用,过几天会自动解除,可以提示 `该订阅功能暂时受限,请稍后再试`
- reject 表示用户拒绝,需引导用户右上角开启
- 其他 表示订阅失败
data object 订阅成功时返回用户订阅消息的操作结果,失败时返回 null
    data[TEMPLATE_ID] string [TEMPLATE_ID]是动态的键,即模板 id,值包括 acceptrejectbanfail,其中 accept 表示用户同意订阅该条 id 对应的模板消息,reject 表示用户拒绝订阅该条 id 对应的模板消息,ban 表示已被后台封禁,fail 表示该条 id 对应的模版消息授权失败
message string 订阅成功或失败时的相应描述信息

# 示例代码

注:示例代码中的参数或选项均为演示数据,仅供参考,谢谢!

// 若用户客户端基础库版本低于 1.73.0,调用此接口将中断用户当前操作并弹出升级提示,不会报错!
sdkInstance.subscribeLongestMessage({
  tmplIds: ["MSGxx", "MSGxx", "MSGxx"], // 一次调用最多可订阅3条消息
  success: function(response) {
    console.log(response.code); // 订阅状态码,0 表示订阅成功; ban 表示被微信临时性禁用; reject 表示用户拒绝; 其他表示订阅失败;
    console.log(response.data); // 用户订阅消息的操作结果
  },
  fail: function(error) {
    console.log(error); // 订阅失败的错误信息,error.message为错误消息
  },
  complete: function(result) {
    // do something here...
  }
});
Last Updated: 2026/1/20 19:01:24