直播能力 收藏我的收藏
收藏我的收藏
前提条件 无 业务背景 无 使用限制 无 注意事项 无 相关教程 无 
| 前提条件 | 无 | 
| 业务背景 | 无 | 
| 使用限制 | 无 | 
| 注意事项 | 无 | 
| 相关教程 | 无 | 
TT.GetLiveManager
TTSDK 6.2.5 及以上版本支持该能力
获取直播能力管理对象。
语法
TT.GetLiveManager()
参数说明
无
返回值
| 类型 | 说明 | 
| TTLiveManager | TTLiveManager 对象 | 
以下接口能力全部通过 
TT.GetLiveManager() 获取到的 TTLiveManager 对象调 用。TTLiveManager.CheckRoomIsValid
TTSDK 6.2.5 及以上版本支持该能力
检查直播间是否有效。回调成功即表示直播间有效,可以进入。
语法
TT.GetLiveManager().CheckRoomIsValid(JsonData param, Action<JsonData> successCallback = null, Action<int, string> failedCallback = null, Action completeCallback = null);
参数说明
JsonData 类型的 param 可以传入以下参数:
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 
| roomID | string |  | 是 | 直播间ID。可以从 GetLiveStatus中获取主播直播间id。 | 
使用示例
var param = new JsonData { ["roomID"] = roomId }; TT.GetLiveManager().CheckRoomIsValid(param, data => { Debug.Log($"CheckRoomIsValid success,{data.ToJson()}"); }, (errCode, errMsg) => { Debug.Log($"CheckRoomIsValid failed, errCode:{errCode}, errMsg:{errMsg}"); }, () => { Debug.Log("CheckRoomIsValid complete"); });
TTLiveManager.NavigateToLive
TTSDK 6.2.5 及以上版本支持该能力
跳转到指定直播间。
语法
TT.GetLiveManager().NavigateToLive(JsonData param, Action<JsonData> successCallback = null, Action<int, string> failedCallback = null, Action completeCallback = null)
参数说明
JsonData 类型的 param 可以传入以下参数:
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 
| roomID | string |  | 是 | 直播间ID。可以从 GetLiveStatus中获取主播直播间id。 | 
使用示例
var param = new JsonData { ["roomID"] = roomId }; TT.GetLiveManager().NavigateToLive(param, data => { Debug.Log($"NavigateToLive success,{data.ToJson()}"); }, (errCode, errMsg) => { Debug.Log($"NavigateToLive failed, errCode:{errCode}, errMsg:{errMsg}"); }, () => { Debug.Log("NavigateToLive complete"); });
TTLiveManager.GetLiveStatus
TTSDK 6.2.5 及以上版本支持该能力
查询小游戏关联的小玩法主播直播信息。
语法
TT.GetLiveManager().GetLiveStatus(GetLiveStatusParam)
参数说明
NavigateToLiveParam 类包含参数如下:
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 
| OpenIdList | List<string> |  | 是 | 要查询的主播openId列表 | 
| Success | Delegate GetLiveStatusSuccessCallback |  | 否 | 接口调用成功的回调函数 | 
| Fail | Action<ErrorInfo> |  | 否 | 接口调用失败的回调函数 | 
| Complete | Action |  | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) | 
Success 是一个 delegate,接收
GetLiveStatusSuccessResult 类型参数,属性如下:| 属性名 | 类型 | 说明 | 
| LiveStatus | Dictionary<string, TTLiveStatus> | 传入的OpenIdList对应的主播直播信息列表 | 
TTLiveStatus 包含以下属性:| 属性名 | 类型 | 说明 | 
| OpenId | string | 主播的openId | 
| IsOnLive | bool | 是否正在直播 | 
| NickName | string | 昵称 | 
| AppId | string | 对应玩法的Id | 
| AvatarUrl | string | 主播头像 | 
| RoomId | string | 直播间Id | 
使用示例
TT.GetLiveManager().GetLiveStatus(new GetLiveStatusParam() { OpenIdList = openIds, Success = data => { Debug.Log($"getLiveStatus success,{data.ToJson()}"); }, Fail = error => { Debug.Log($"getLiveStatus failed, errCode:{error.ErrorCode}, errMsg:{error.ErrMsg}, errorType: {error.ErrorType}"); } });
TTLiveManager.OnXScreenSizeChange
TTSDK 6.2.5 及以上版本支持该能力
监听 X 分屏,全屏/半屏 切换事件。
语法
void OnXScreenSizeChange(OnXScreenSizeChangeCallback callback);
参数说明
callback
callback 是一个 delegate,接收的参数如下:
| 属性名 | 类型 | 说明 | 
| Type | XScreenType enum | 当前X分屏变化事件类型 | 
Type 为 enum 类型,其枚举值如下:
| 枚举值 | 说明 | 
| EnlargeBegin | X分屏开始由半屏变为全屏 | 
| EnlargeEnd | X分屏由半屏变为全屏结束 | 
| ReduceBegin | X分屏开始由全屏变为半屏 | 
| ReduceEnd | X分屏由全屏变为半屏结束 | 
返回值
无
使用示例
private void OnXScreenChange(OnXScreenSizeChangeResult result) { Debug.Log($"OnXScreenChange, type:{result.Type}"); } private void OnXScreenChange() { TT.GetLiveManager().OnXScreenSizeChange(OnXScreenChange); }
TTLiveManager.OffXScreenSizeChange
TTSDK 6.2.5及以上版本支持该能力
取消监听 X 分屏,全屏/半屏 切换事件。
语法
void OffXScreenSizeChange(OnXScreenSizeChangeCallback callback = null);
参数说明
callback
callback 是一个 delegate,接收的参数如下(不传则会删除所有 callback):
| 属性名 | 类型 | 说明 | 
| Type | XScreenType enum | 当前X分屏变化事件类型 | 
返回值
无
使用示例
TT.GetLiveManager().OffXScreenSizeChange();
TTLiveManager.GetLiveSetting
TTSDK 6.5.3 及以上版本支持该能力
获取直播环境配置信息。
语法
TT.GetLiveManager().GetLiveSetting(GetLiveSettingParam param)
参数说明
GetLiveSettingParam 类包含参数如下:
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 
| Success | Action<GetLiveSettingResult> |  | 否 | 接口调用成功的回调函数 | 
| Fail | Action<ErrorInfo> |  | 否 | 接口调用失败的回调函数 | 
| Complete | Action |  | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) | 
Success 接收 GetLiveSettingResult 类型参数,属性如下:
| 属性名 | 类型 | 说明 |  | 
| ErrMsg | string | "LiveManager.getLiveSetting:ok" |  | 
| IsVideoLive | bool | 当前是否为直播场景 |  | 
| IsAnchor | bool | 当前玩家身份是否是主播 |  | 
| InstantPlay | bool | 是否开通即看即玩能力并且主播端开关已打开 |  | 
使用示例
TT.GetLiveManager().GetLiveSetting(new GetLiveSettingParam() { Success = data => { Debug.Log($"getLiveSetting success, {data.ToJson()}"); }, Fail = error => { Debug.Log($"getLiveSetting failed, errCode:{error.ErrorCode}, errMsg:{error.ErrMsg}, errorType: {error.ErrorType}"); } });
TTLiveManager.UploadGameProgress
TTSDK 6.5.3 及以上版本支持该能力
上传主播游玩场景配置。
| 前提条件 | 使用前,请先前往游戏开放后台,申请开通直播即看即玩能力 | 
| 业务背景 | 无 | 
| 使用限制 | 仅在直播场景下可调用 | 
| 注意事项 | 无 | 
| 相关教程 | 
语法
TT.GetLiveManager().UploadGameProgress(UploadGameProgressParam param)
参数说明
UploadGameProgressParam 类包含参数如下:
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 
| Data | string |  | 是 | 游玩进度配置信息,长度不超过512KB | 
| Success | Action<UploadGameProgressResult> |  | 否 | 接口调用成功的回调函数 | 
| Fail | Action<ErrorInfo> |  | 否 | 接口调用失败的回调函数 | 
| Complete | Action |  | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) | 
Success 接收 UploadGameProgressResult 类型参数,属性如下:
| 属性名 | 类型 | 说明 |  | 
| ErrMsg | string | "LiveManager.uploadGameProgress:ok" |  | 
错误码
| errNo | errMsg | 说明 | 
| 20001 | invalid param | 参数类型错误 | 
| 21100 | can only call in video live | 仅在视频直播和伴侣挂载启动场景下可调用 | 
| 21101 | can only call in anchor side | 仅在主播端可调用 | 
| 21102 | the game's instant play is closed. | 游戏未开通即玩能力 | 
| 21103 | anchor's instant play is closed | 主播未打开即玩开关 | 
| 21104 | frequency limit | 频控限制 (10s/每次) | 
| 21105 | data is too large | 数据过大(512KB) | 
| 21106 | server error | 服务端错误 | 
使用示例
TT.GetLiveManager().UploadGameProgress(new UploadGameProgressParam() { Data = "foobar", Success = data => { Debug.Log($"uploadGameProgress success, {data.ToJson()}"); }, Fail = error => { Debug.Log($"uploadGameProgress failed, errCode:{error.ErrorCode}, errMsg:{error.ErrMsg}, errorType: {error.ErrorType}"); } });
TTLiveManager.SyncGameProgress
TTSDK 6.5.3 及以上版本支持该能力
观众侧同步主播游玩进度配置信息。
| 前提条件 | 使用前,请先前往游戏开放后台,申请开通直播即看即玩能力 | 
| 业务背景 | 无 | 
| 使用限制 | 仅在直播场景下可调用 | 
| 注意事项 | 在一次小游戏启动周期内,data 的值不会发生变化,只有重新进入游戏才会刷新 | 
| 相关教程 | 
语法
TT.GetLiveManager().SyncGameProgress(SyncGameProgressParam param)
参数说明
SyncGameProgressParam 类包含参数如下:
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 
| Success | Action<SyncGameProgressResult> |  | 否 | 接口调用成功的回调函数 | 
| Fail | Action<ErrorInfo> |  | 否 | 接口调用失败的回调函数 | 
| Complete | Action |  | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) | 
Success 接收 SyncGameProgressResult 类型参数,属性如下:
| 属性名 | 类型 | 说明 |  | 
| ErrMsg | string | "LiveManager.uploadGameProgress:ok" |  | 
| Data | string | 主播游玩进度配置信息 |  | 
错误码
| errNo | errMsg | 说明 | 
| 21100 | can only call in video live | 仅在主播视频开播或伴侣挂载启动游戏开播场景下可调用 | 
| 21101 | can only call in audience side | 仅在观众端可调用 | 
| 21102 | the game's instant play is closed | 游戏未开通即玩能力 | 
| 21103 | anchor's instant play is closed | 主播未打开即玩开关 | 
| 21104 | serve error | 服务端错误 | 
使用示例
TT.GetLiveManager().SyncGameProgress(new SyncGameProgressParam() { Success = data => { Debug.Log($"syncGameProgress success, {data.ToJson()}"); }, Fail = error => { Debug.Log($"syncGameProgress failed, errCode:{error.ErrorCode}, errMsg:{error.ErrMsg}, errorType: {error.ErrorType}"); } });
TTLiveManager.OnInstantPlayStatusChange
TTSDK 6.5.3 及以上版本支持该能力
注册即看即玩开关状态变化监听函数。
| 前提条件 | 使用前,请先前往游戏开放后台,申请开通直播即看即玩能力 | 
| 业务背景 | 无 | 
| 使用限制 | 仅在直播场景下可调用 | 
| 注意事项 | 无 | 
| 相关教程 | 
语法
void OnInstantPlayStatusChange(OnInstantPlayStatusChangeCallback callback);
参数说明
callback
callback 是一个 delegate,接收的参数如下:
| 属性名 | 类型 | 说明 | 
| InstantPlayStatus | bool | 主播即玩开关状态 | 
返回值
无
使用示例
void OnInstantPlayStatusChangeCallback(OnInstantPlayStatusChangeResult result) { Debug.Log($"OnInstantPlayStatusChangeResult: {result.ToJson()}"); } TT.GetLiveManager().OnInstantPlayStatusChange(OnInstantPlayStatusChangeCallback);
TTLiveManager.OffInstantPlayStatusChange
TTSDK 6.5.3 及以上版本支持该能力
取消监听即看即玩开关状态变化。
| 前提条件 | 使用前,请先前往游戏开放后台,申请开通直播即看即玩能力 | 
| 业务背景 | 无 | 
| 使用限制 | 仅在直播场景下可调用 | 
| 注意事项 | 无 | 
| 相关教程 | 
语法
void OffInstantPlayStatusChange(OnInstantPlayStatusChangeCallback callback = null);
参数说明
callback
callback 是一个 delegate,同 
TTLiveManager.OnInstantPlayStatusChange。(不传则会删除所有 callback)。返回值
无
使用示例
TT.GetLiveManager().OffInstantPlayStatusChange();
