抖音开放平台Logo
开发者文档
控制台
使用 Unity SDK,开发者需要将LiveOpenSdk.Instance.GetMessagePushService().OnMessage设置为自定义的处理函数,这样当收到互动消息(点赞、评论、送礼、粉丝团)的推送时,就会执行 OnMessage 函数。
在设置给OnMessage的处理函数的最后,开发者应该调用SDK的履约上报能力接口上报已处理完毕。目前这不是必须的,但是,如果开发者进行上报,平台将统计玩法的互动消息的处理是否正常,是否超时。如果有异常,将收到告警消息,及时联系开发者定位问题,解决异常。因此,强烈建议开发者在调用履约上报接口

履约上报时序图

开发者需要做的履约方案如下:
开发者客户端在处理完推送数据后使用SDK的履约上报接口进行履约上报。
注意:
使用SDK方式,确认收到推送数据由SDK自动上报,开发者仅需在完成推送数据处理后进行一次履约上报即可。

履约上报接口

根据消息IPushMessagemsgIdmsgType进行上报。

语法

/// <summary>/// 上报互动消息在小玩法内的展现。/// </summary> /// <param name="msgId">要上报的消息 ID</param> /// <param name="msgType">要上报的消息的类型</param> /// <seealso cref="PushMessageTypes"/> void ReportAck(string msgId, string msgType);

调用参数

属性名
类型
默认值
必填
说明
msgId
string
要上报的消息 ID
msgType
string
要上报的消息的类型,参考PushMessageTypes

使用示例

履约上报的接口需要置于开发者设置的OnMessage的函数中,如下:
// 玩法sdk初始化成功后执行 public static async Task Init() { // 必须等待直播间信息可用后才能进行后续操作。 await LiveOpenSdk.Instance.GetRoomInfoService().WaitForRoomInfoAsync(); // 设置OnMessage LiveOpenSdk.Instance.GetMessagePushService().OnMessage -= OnMessage; LiveOpenSdk.Instance.GetMessagePushService().OnMessage += OnMessage; } void OnMessage(IPushMessage message) { var sb = new StringBuilder(); sb.AppendLine($"收到推送消息:{message.MsgId} {message.MsgType}"); switch (message) { case ICommentMessage data: sb.Append($"{data.Sender.Nickname} 说:{data.Content}"); break; case ILikeMessage data: sb.Append($"{data.Sender.Nickname} 点了 {data.LikeCount} 个赞"); break; case IGiftMessage data: sb.Append($"{data.Sender.Nickname} 送了 {data.GiftCount} 个礼物,价值 {data.GiftValue} 分"); break; case IFansClubMessage data: if (data.FansClubMessageType == IFansClubMessage.MessageType.Join) { sb.Append($"{data.Sender.Nickname} 加入了粉丝团"); } else if(data.FansClubMessageType == IFansClubMessage.MessageType.LevelUp) { sb.Append($"{data.Sender.Nickname} 的粉丝团等级升到了 {data.FansClubLevel} 级"); } break; } Debug.Log(sb.ToString()); // 使用 msgId,msgType履约上报 LiveOpenSdk.Instance.GetMessageAckService().ReportAck(message.MsgId, message.MsgType); }