抖音云能力收藏我的收藏
收藏
我的收藏抖音云服务文档参考:https://developer.open-douyin.com/docs/resource/zh-CN/interaction/develop/douyincloud/guide
互动玩法开通文档参考:https://developer.open-douyin.com/docs/resource/zh-CN/interaction/jierushuoming/hudongshuju/liwushuju
初始化抖音云
/// <summary> /// 初始化抖音云。 /// </summary> var dyCloudParams = new DyCloudInitParams(); await sdk.GetDyCloudApi().InitializeAsync(dyCloudParams);
调用参数:DyCloudInitParams
字段 | 说明 |
string Token | 直播伴侣启动或云启动时提供的访问令牌 |
string AppId | 小玩法的 AppId |
string EnvId | 云环境 ID |
string DefaultServiceId | 发起请求时使用的默认云服务 ID |
bool IsDebug | 是否设置为调试模式,调试模式时可以使用空的 Token |
string DebugIpAddress | 本地调试时使用的IP地址 |
返回说明:
无
发起抖音云短连接
用此实现:开始任务(弹幕/点赞/送礼)
/// <summary> /// 抖音云短连接能力演示:开启推送任务。 /// </summary> /// <remarks> /// 开发者需要在抖音云的服务上调用 OpenAPI 实现开启推送任务。 /// 这里的请求仅是通知开发者服务端对局开始,你需要替换为自己实现的等价操作。 /// </remarks> await sdk.GetDyCloudApi().CallContainerAsync(path,serviceId,method,body,headers);
调用参数:
字段 | 说明 |
string path | 请求路径 |
string serviceId | 服务 ID,若为空则使用抖音云初始化时提供的默认服务 ID |
string method | HTTP 方法,支持 GET/POST/OPTIONS/PUT/DELETE/TRACE/PATCH |
string body | HTTP 请求体,大小上限为 1MB |
IDictionary<string, string> headers | HTTP 请求标头 |
返回说明:IDyCloudHttpResponse
返回类 | 字段 | 说明 |
IDyCloudHttpResponse | | |
| int StatusCode | HTTP 状态码 |
| string Body | HTTP 响应体 |
| IReadOnlyDictionary<string, string> Headers | HTTP 响应标头 |
获取抖音云长连接 WebSocket 单例
/// <summary> /// 获取抖音云长连接 WebSocket 的单例。 /// </summary> /// <remarks> /// 抖音云内部只支持一个 WebSocket 连接,因此暂不提供创建新的 <see cref="IDyCloudWebSocket"/> 实例的方法。 /// </remarks> IDyCloudWebSocket WebSocket { get; }
建立抖音云长连接
/// <summary> /// 抖音云长连接能力演示:建立推送通道。 /// </summary> /// <remarks> /// 开发者需要在抖音云的服务上推送消息。 /// 这里的请求仅是连接上抖音云的推送通道。 /// </remarks> await sdk.GetDyCloudApi().WebSocket.ConnectContainerAsync(path)
调用参数:
字段 | 说明 |
string path | 接口地址 |
返回说明:
void
- •/ws/live_interaction/push_data:适用于开发者下发跟互动指令有关的数据,该API强制要求显式透传msg_id,SDK OnMessage内部默认会解析该msg_id并上报,平台用于做全链路互动指令的一致率、时延监控。
- •/ws/push_data:适用于开发者下发跟互动指令完全无关的数据,如对局结束后下发榜单数据。
发送数据
// 向远端发送数据 sdk.GetDyCloudApi().WebSocket.SendMessage(string message)
调用参数:
字段 | 说明 |
string path | 接口地址 |
返回说明:
无
关闭抖音云长链接
// 主动关闭连接 sdk.GetDyCloudApi().WebSocket.Close()
调用参数:
无
返回说明:
无
抖音云链接事件
// 链接建立时的事件 sdk.GetDyCloudApi().WebSocket.OnOpen // 链接关闭时的事件 sdk.GetDyCloudApi().WebSocket.OnClose // 连收到远端消息时的事件 sdk.GetDyCloudApi().WebSocket.OnMessage // 发生错误时的事件 sdk.GetDyCloudApi().WebSocket.OnError
抖音云消息推送方案流程
初始化 SDK : ILiveOpenSdk.Initialize()
初始化抖音云 : IDyCloudApi.InitializeAsync()
长连接能力 : IDyCloudWebSocket.ConnectContainerAsync()
短连接能力 :IDyCloudApi.CallContainerAsync()
请求部署在抖音云上的服务启动指令推送
开始一场对局
收到消息并成功渲染后上报履约 : IMessageAckService.ReportAck()
结束一场对局
请求部署在抖音云上的服务停止指令推送
游戏退出或 Unity 停止预览时销毁 SDK,释放资源 : ILiveOpenSdk.Uninitialize()
开发调试
当前抖音云环境和自定义后台环境,均可使用控制台的 【开发-》自查工具-》OpenAPI 自测工具】完成开发调试