指令直推能力收藏我的收藏
收藏
我的收藏
使用指令直推不需要在 SDK 当中进行额外的配置,只需要保证直播间信息获取完成,监听对应的事件,然后开启推送任务即可。
当前的连接状态
Sdk.GetMessagePushService().ConnectionState
参数类型:
参数类 | 参数状态 | 说明 |
ConnectionState | Disconnected = 0 | 未连接 |
| Connected = 1 | 已连接 |
链接状态事件监听
Sdk.GetMessagePushService().OnConnectionStateChanged += OnConnectionStateChanged; private static void OnConnectionStateChanged(ConnectionState state) { Log.Info($"指令推送网络连接状态:{state}"); }
监听事件状态
事件状态类 | 说明 |
ConnectionState | 参考当前的链接状态参数类型 |
消息事件监听
// 注册事件监听 Sdk.GetMessagePushService().OnMessage += OnMessage; private static void OnMessage(IPushMessage message) { Log.Info($"收到推送消息:{message.MsgId} {message.MsgType}"); }
监听事件状态
事件状态类 | 字段 | 说明 |
IPushMessage | string MsgId | 消息 ID |
| string MsgType | 推送消息的类型 |
| long Timestamp | 消息的 UNIX 时间戳,单位是毫秒 |
启动指令推送
// 开启推送任务,开启成功后才能收到指定类型的消息 // 每场对局结束后建议停止推送任务 await Sdk.GetMessagePushService().StartPushTaskAsync(msgType);
调用参数:
string msgType | 要启动推送的消息类型的字符串,参考 PushMessageTypes |
PushMessageTypes 类型
live_gift | 送礼数据 |
live_comment | 评论数据 |
live_like | 点赞数据 |
live_fansclub | 粉丝团数据 |
返回说明:
无
停止指令推送
// 停止服务端的推送任务,停止向本地推送指定类型的消息。<br/> // 在玩法处于不需要处理互动指令的状态时,请调用此方法。 // 停止推送任务后不保证 <see cref="OnMessage"/> 一定不会触发,因此请在不需要处理指令时取消事件订阅。 await Sdk.GetMessagePushService().StopPushTaskAsync(msgType);
调用参数:
string msgType | 要启动推送的消息类型的字符串,参考 PushMessageTypes |
PushMessageTypes 类型
live_gift | 送礼数据 |
live_comment | 评论数据 |
live_like | 点赞数据 |
live_fansclub | 粉丝团数据 |
返回说明:
无
指令直推方案流程
初始化 SDK : ILiveOpenSdk.Initialize()
初始化直播间信息 :IRoomInfoService.WaitForRoomInfoAsync()
注册事件监听 :IMessagePushService.OnMessage
启动指令推送 : IMessagePushService.StartPushTaskAsync()
开始一场对局
收到消息并成功渲染后上 报履约 : IMessageAckService.ReportAck()
结束一场对局
停止指令推送 : IMessagePushService.StopPushTaskAsync()
游戏退出或 Unity 停止预览时销毁 SDK,释放资源 : ILiveOpenSdk.Uninitialize()
开发调试
当前指令直推的开发调试,需要
- 1.准备好你的 appid+token(直播伴侣挂载你的玩法可获得 token);
- 2.用 appid + token 去开启指令直推能力,礼物、评论、点赞等;
- 3.移动端加入该直播间发送对应指令,可以在本地调试环境中收到对应消息
【开发-》自查工具-》OpenAPI 自测工具】在开发中,后期也可在这里测试