小游戏管理
1. 游戏启动参数设置
接口原型
void setGameStartOptions(Bundle options, OnTJHostHandleListener listener)
参数说明
| 参数 | 数据类型 | 必填 | 属性说明 |
|---|---|---|---|
| options | android.os.Bundle | 是 | 游戏初始化参数,以下为具体参数列表 |
| TJRuntimeConstants.LAUNCH_KEY | String | 是 | 游戏启动项,支持游戏列表启动项,扫码启动项和最近启动项三种。 |
| TJRuntimeConstants.USER_ID | String | 是 | 游戏用户 |
| TJConstants.GAME_ENTRY_JS | String | 否 | 游戏入口 JavaScript 文件名, 值仅限于 game.js 或 main.js |
| TJConstants.ENABLE_DEBUGGER | boolean | 否 | 开启调试, 默认值为 false |
| TJConstants.ENABLE_VCONSOLE | boolean | 否 | 开启 vConsole, 更改开启或关闭需重启游戏,默认值为 false |
| TJConstants.ENABLE_PERFORMANCE_MONITORING | boolean | 否 | 开启性能监控, 默认值为 false |
| TJConstants.ENABLE_CPU_PROFILER | boolean | 否 | 开启 CPU Profile, 默认值为 false |
| TJConstants.ENABLE_RUNTIME_CSHARP_DEBUGGER | boolean | 否 | 开启 C# 代码调试, 默认值为 false |
| TJConstants.NETWORK_TIMEOUT | long | 否 | 网络超时时间,单位为毫秒。默认值为 60000 |
| TJConstants.BUILTIN_CUSTOM_SCRIPTS_PATH | String | 否 | 加载拓展接口文件 custom.js 的路径 |
| TJConstants.SHOW_MENU_LAYOUT | boolean | 否 | 开启菜单胶囊按钮, 默认值为 true |
| TJConstants.PIXEL_RATIO | float | 否 | 设置像素比例 |
| TJConstants.ENABLE_INSPECTOR | boolean | 否 | 开启 Chrome DevTools 调试, 默认值为 false |
| TJConstants.INSPECTOR_PORT | int | 否 | Chrome DevTools 调试监听端口 |
| TJConstants.INSPECTOR_HOST | String | 否 | Chrome DevTools 调试 host |
| TJConstants.INSPECTOR_WAIT_FOR_INSPECT | boolean | 否 | 在启动时等待 DevTools 连接, 默认值为 false |
| TJConstants.INSPECTOR_PAGE_INSPECTION | boolean | 否 | 开启 Chrome DevTools Screencast, 默认值 false |
| TJConstants.DOMAIN_WHITELIST_REQUEST | ArrayList<String> | 否 | request 合法域名, 以 https:// 开头, 可填写 300 个域名 |
| TJConstants.DOMAIN_WHITELIST_SOCKET | ArrayList<String> | 否 | socket 合法域名, 以 wss:// 开头, 可填写 200 个域名 |
| TJConstants.DOMAIN_WHITELIST_UDP | ArrayList<String> | 否 | udp 合法域名, 以 udp:// 开头, 可填写 200 个域名。注:经 DNS 解析得到的 ip 也能通过白名单 |
| TJConstants.DOMAIN_WHITELIST_TCP | ArrayList<String> | 否 | tcp 合法域名, 以 tcp:// 开头, 可填写 200 个域名。注:经 DNS 解析得到的 ip 也能通过白名单 |
| TJConstants.DOMAIN_WHITELIST_UPLOAD_FILE | ArrayList<String> | 否 | uploadFile 合法域名, 以 https:// 开头, 可填写 200 个域名 |
| TJConstants.ENABLE_TRANSPARENT_MODE | boolean | 否 | 是否支持游戏背景透明 |
| TJRuntimeConstants.SHOW_MENU_EXPLORE_BTN | boolean | 否 | 胶囊按钮是否展示 ··· 更多按钮 |
| TJRuntimeConstants.SPLASH_ICON_URL | String | 否 | 游戏加载页图片 URL |
| TJRuntimeConstants.SPLASH_GAME_TITLE | String | 否 | 游戏加载页游戏标题 |
| TJRuntimeConstants.SPLASH_CAPSULE_RESERVE_STATUS_BAR | boolean | 否 | 胶囊按钮是否额外保留系统顶部状态栏高度 |
代码示例
private TJHostHandle hostHandle;
...
Bundle bundle = new Bundle();
bundle.putString(TJConstants.GAME_ID, "gameid");
gameHandle.setGameStartOptions(bundle, new OnTJHostHandleListener() {
@Override
public void onSuccess() {
// startGame();
}
@Override
public void onFailure(Throwable throwable) {
Log.e(TAG, "Host set game start options failure", throwable);
}
});
游戏启动参数 LAUNCH_KEY 说明
目前,游戏支持三种启动方式:游戏列表启动、二维码扫码启动和最近游玩列表启动。
- 游戏列表启动:在游戏列表接口返回的对象中包含有
launchKey字段,该字段需要在启动游戏时作为启动参数传入给LAUNCH_KEY。- launchKey:
67da9d2961b25a25faf0b143
- launchKey:
- 二维码扫码启动:扫描二维码的结果作为启动参数传入给
LAUNCH_KEY。- 二维码扫码结果:
https://minihost.tuanjie.cn/api/game_app/67da9d2961b25a25faf0b143/temp_session/a0f06587-3def-4a3a-95b2-89286bc325fa/start
- 二维码扫码结果:
- 最近游玩列表启动:最近游玩对象中同样包含有
launchKey字段,该字段也是作为启动参数传入给LAUNCH_KEY。具体参考 最近游玩列表- 游戏列表启动时 launchKey:
67da9d2961b25a25faf0b143 - 扫码体验启动时 launchKey:
67da9d2961b25a25faf0b143:67dcc8227ae013b09d23ad23
- 游戏列表启动时 launchKey:
2. 开始游戏
加载、编译 游戏资源,游戏界面可见但不可交互,宿主状态转为 RUNNING。
接口原型
void start(String onShowMsg, OnTJHostHandleListener listener)
参数说明
| 参数 | 数据类型 | 必填 | 属性说明 |
|---|---|---|---|
| onShowMsg | String | 否 | 显示字符串 |
| listener | OnTJHostHandleListener | 否 | onSuccess/onFailure 回调 |
3. 运行/恢复游戏
游戏可交互或在 app 切换至前台时恢复运行,宿主状态转为 PLAYING。
接口原型
void play(OnTJHostHandleListener listener)
参数说明
| 参数 | 数据类型 | 必填 | 属性说明 |
|---|---|---|---|
| listener | OnTJHostHandleListener | 否 | onSuccess/onFailure 回调 |
4. 暂停游戏
暂停游戏,宿主状态转为 RUNNING。
接口原型
void pause(OnTJHostHandleListener listener)
参数说明
| 参数 | 数据类型 | 必填 | 属性说明 |
|---|---|---|---|
| listener | OnTJHostHandleListener | 否 | onSuccess/onFailure 回调 |
5. 结束游戏
结束游戏,宿主状态转为 WAITING。
接口原型
void stop(String onHideMsg, OnTJHostHandleListener listener)
参数说明
| 参数 | 数据类型 | 必填 | 属性说明 |
|---|---|---|---|
| onHideMsg | String | 否 | 隐藏字符串 |
| listener | OnTJHostHandleListener | 否 | onSuccess/onFailure 回调 |
6. 设置宿主首帧渲染监听
提供宿主首帧渲染后的回调
接口原型
void setOnFirstFrameRenderedListener(OnTJFirstFrameRenderedListener listener)
参数说明
| 参数 | 数据类型 | 必填 | 属性说明 |
|---|---|---|---|
| listener | OnTJFirstFrameRenderedListener | 否 | 首帧回调 |
7. 设置宿主游戏包下载回调
提供宿主游戏包下载的回调机制,此回调仅会在游戏包首次被下载时触发,若仅是读取缓存中的游戏包,则不会触发该回调。
接口原型
void setOnGamePackageDownloadListener(OnTJHostGamePackageDownloadHandleListener listener)
参数说明
| 参数 | 数据类型 | 必填 | 属性说明 |
|---|---|---|---|
| listener | OnTJHostGamePackageDownloadHandleListener | 否 | 游戏包下载回调 |