推荐流直出游戏能力
收藏我的收藏
该模块为直玩能力相关。向用户请求授权允许游戏在满足一定的条件后出现在 Feed 流中和查询用户的授权情况。
前提条件 | 已申请开通小游戏直玩能力,在申请开通后可以获得 contentID |
业务背景 |
|
使用限制 |
|
注意事项 | 无 |
相关教程 |
TT.RequestFeedSubscribe
语法
public static void RequestFeedSubscribe(JsonData param, Action<JsonData> success = null, Action<int, string> failed = null, Action complete = null)
参数说明
param 为 JsonData 类型,属性如下:
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
type | string | -- | 是 | 订阅 Feed 流的类型,目前只支持传 'play' | 5.52.11 |
scene | int | -- | 否 | 订阅的场景 ID(非全场景下必传) | 5.52.11 |
contentIDs | Array<string> | -- | 否 | Array<string>,自定义文案 contentID 数组 (非全场景下必传),contentID 在后台申请开通直玩能力后可获取 | 5.52.11 |
allScene | boolean | false | 否 | 是否为全场景订阅 | 6.0.2 |
success | Action<JsonData> | | 否 | 接口调用成功的回调函数 | 5.52.11 |
failed | Action<int, string> | | 否 | 接口调用失败的回调函数 | 5.52.11 |
complete | Action | | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) | 5.52.11 |
type 的合法值 :
值 | 说明 |
'play' | 直玩场景 |
scene 的合法值:
值 | 说明 |
1 | 离线收益场景 |
2 | 体力恢复场景 |
3 | 重要事件掉落 |
回调成功
JsonData 类型,属性如下:
属性名 | 类型 | 说明 |
errMsg | string | 回调信息 |
success | bool | 用户的订阅结果(true为成功,false为订阅失败,具体原因看errMsg) |
回调失败
属性如下:
属性名 | 类型 | 说明 |
errNo | int | 错误码 |
errMsg | string | 错误信息 |
错误码
errNo | errMsg | 说明 |
10301 | feature is not supported in app | 宿主不支持该功能 |
21100 | host does not have permission | 该app未开通该能力 |
21101 | no permission | 该游戏没有订阅权限 |
10601 | not login | 需要调用tt.login登录 |
20001 |
| 开发者传参错误 |
21102 | network error | 网络环境问题,一般指无网环境 |
21103 | service error:具体错误信息 | 网络请求失败 |
21104 | internal error:具体错误信息 | 弹窗跳转失败等 |
21105 | frequency control | 频控限制 |
代码示例
发起单场景订阅:
public void FeedTest(){ var contentIDs = JsonData.NewJsonArray(); contentIDs.Add("CONTENT123"); contentIDs.Add("CONTENT234"); var param = new JsonData { ["type"]: "play", // play=直玩 ["scene"]: 1, // 一次只能订阅一个 ["contentIDs"]: contentIDs, }; TT.RequestFeedSubscribe( param, (res) => { }, (errNo, errMsg) => { }, () => { } ); }
发起全场景订阅:
public void FeedTest(){ var param = new JsonData { ["type"]: "play", // play=直玩 ["allScene"]: true, // 全场景订阅 }; TT.RequestFeedSubscribe( param, (res) => { }, (errNo, errMsg) => { }, () => { } ); }
TT.CheckFeedSubscribeStatus
语法
public static void CheckFeedSubscribeStatus(JsonData param, Action<JsonData> success = null, Action<int, string> failed = null, Action complete = null)
参数说明
param 为 JsonData 类型,属性如下:
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
type | string | -- | 是 | 订阅 Feed 流的类型,目前只支持传 'play' | 5.52.11 |
scene | int | -- | 否 | 订阅的模板ID(type="play"时必传) | 5.52.11 |
allScene | boolean | false | 否 | 是否为全场景订阅 | 6.0.2 |
success | Action<JsonData> | | 否 | 接口调用成功的回调函数 | 5.52.11 |
failed | Action<int, string> | | 否 | 接口调用失败的回调函数 | 5.52.11 |
complete | Action | | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) | 5.52.11 |
type 的合法值 :
值 | 说明 |
"play" | 直玩场景 |
scene 的合法值:
值 | 说明 |
1 | 离线收益场景 |
2 | 体力恢复场景 |
3 | 重要事件掉落 |
回调成功
JsonData 类型,属性如下:
属性名 | 类型 | 说明 |
errMsg | string | 回调信息 |
success | bool | 用户的订阅状态(true为已经订阅,false为用户未订阅) |
回调失败
属性如下:
属性名 | 类型 | 说明 |
errNo | number | 错误码 |
errMsg | string | 错误信息 |
错误码
errNo | errMsg | 说明 |
10301 | feature is not supported in app | 宿主不支持该功能 |
21100 | host does not have permission | 该app未开通该能力 |
21101 | no permission | 该游戏没有订阅权限 |
10601 | not login | 需要调用tt.login登录 |
20001 |
| 开发者传参错误,客户端主要校验 msgID 为空的情况 |
21102 | network error | 网络环境问题,一般指无网环境 |
21103 | service error:具体错误信息 | 网络请求失败 |
代码示例
查询单场景订阅状态:
public void FeedTest(){ var param = new JsonData { ["type"]: "play", ["scene"]: 1, }; TT.CheckFeedSubscribeStatus( param, (res) => { }, (errNo, errMsg) => { }, () => { } ); }
查询全场景订阅状态:
public void FeedTest(){ var param = new JsonData { ["type"]: "play", ["allScene"]: true, }; TT.CheckFeedSubscribeStatus( param, (res) => { }, (errNo, errMsg) => { }, () => { } ); }
TT.OnFeedStatusChange
TTSDK 6.2.4 及以后版本支持
添加直玩场景内外流的切换的监听。
语法
public static void OnFeedStatusChange(OnFeedStatusChangeCallback callback)
参数说明
callback:
callback 是一个 delegate,接收的参数如下:
属性名 | 类型 | 说明 |
Type | enum FeedStatusEnum | 当前进入或退出游戏的事件类型 |
Type 为枚举类型,其枚举值及解释如下:
枚举值 | 说明 |
FeedEnter | 从Feed流中进入游戏 |
FeedExit | 从游戏退回到Feed流 |
使用示例
private void OnFeedStatusChangeCallback(OnFeedStatusChangeResult result) { Debug.Log($"OnFeedStatusChangeCallback, Type -->{result.Type.ToString()}"); } private void OnFeedStatusChange() { TT.OnFeedStatusChange(OnFeedStatusChangeCallback); }
TT.OffFeedStatusChange
TTSDK 6.2.4 及以后版本支持
删除直玩场景内外流的切换的监听。
语法
public static void OffFeedStatusChange(OnFeedStatusChangeCallback callback = null)
参数说明
callback:
callback 是一个 delegate,接收的参数如下(不传则会删除所有 callback):
属性名 | 类型 | 说明 |
Type | enum FeedStatusEnum | 当前进入或退出游戏的事件类型 |
使用示例
// 删除所有监听 TT.OffFeedStatusChange();