抖音开放平台Logo
开发者文档
控制台

小游戏组队分享能力

收藏
我的收藏

动态消息

从客户端 30.9.0 开始,支持转发动态消息。动态消息对比普通消息,不同点是:
    1.消息发出去之后,开发者可以通过后台接口修改部分消息内容。

消息属性

动态消息有状态、文字内容、文字颜色。

状态

消息有两个状态,分别有其对应的文字内容和颜色。其中状态 0 可以转移到状态 0 和 1,状态 1 无法再转移。
状态
文字内容
允许转移的状态
0
"成员正在加入,当前 {memberCount}/{roomLimit} 人"
0, 1
1
"已开始"

状态参数

每个状态转移的时候可以携带参数,具体参数说明如下。
参数
类型
说明
memberCount
string
状态 0 时有效,文字内容模板中 memberCount 的值
roomLimit
string
状态 0 时有效,文字内容模板中 roomLimit 的值
query
string
状态 1 时有效,点击「进入」启动小游戏时使用的路径。对于小游戏,没有页面的概念,可以用于传递查询字符串(query)
必须是 key1=val1&key2=val2 的格式。从这条转发消息进入后,可通过 tt.getLaunchOptionsSynctt.onShow 获取启动参数中的 query 用来实现信息透传
versionType
string
状态 1 时有效,点击「进入」启动小游戏时使用的版本。有效参数值为:current(线上版), latest(开发版)

使用方法

一、创建 activity_id

每条动态消息可以理解为一个活动,活动发起前需要通过 createActivityID 接口创建 activity_id。后续转发动态消息以及更新动态消息都需要传入这个 activity_id
活动的默认有效期是 24 小时。活动结束后,未开始的消息内容会变成统一的样式:
    文字内容:“已结束”

二、在转发之前声明消息类型为动态消息

通过调用 tt.shareAppMessage 接口,在extra中传入 useTeamInvitationStyle: true,以及 templateInfoactivityId 参数。其中 activityId 从步骤一中获得。

extra

channel 为空字符串/不传/invite 时,可以通过 extra 设置以下附加信息:
属性
类型
默认值
必填
说明
useTeamInvitationStyle
boolean
false
标识该消息为组队消息
activityId
string
组队消息 的唯一标识,通过createActivityId获取,useTeamInvitationStyle 为true时必填
templateInfo
array
组队消息 的模板信息,Array<TemplateInfo>类型,useTeamInvitationStyle为true时必填
versionType
string
current
指定通过动态消息进入的小游戏版本:线上版current、测试版latest
TemplateInfo类型说明
object 类型,属性如下:
属性
类型
默认值
必填
说明
name
string
参数名,有效值:当前房间人数memberCount、房间人数上限roomLimit
value
string
参数值
tt.shareAppMessage({ templateId: "", // 替换成通过审核的分享ID extra: { useTeamInvitationStyle: true, // 标识该消息为组队消息 activityId: "", // 从步骤一获取 templateInfo: [ { name: "memberCount", value: "1" }, { name: "roomLimit", value: "4" } ], versionType: "current" // 指定通过动态消息进入的小游戏版本:线上版current、测试版latest }, success() { console.log("分享成功"); }, fail(e) { console.log("分享失败"); }, });

三、修改动态消息内容

动态消息发出去之后,可以通过 updateDynamicMessage 修改消息内容。

低版本兼容

对于不支持动态消息的客户端版本,收到动态消息后会展示成普通消息