互动小游戏组件(Android Java)

最近更新时间:2025-11-18 21:56:02

我的收藏
互动小游戏组件是一款专为 Android 平台直播、语聊房等实时互动场景设计的轻量级、高性能、多人在线互动游戏组件。该组件旨在帮助开发者快速、低成本地在现有音视频房间中集成丰富的互动小游戏,从而显著提升用户参与度和房间活跃度。
组件封装了游戏的核心逻辑、UI 界面与网络同步,宿主 App 只需通过简单的 API 调用即可完成游戏的加载、展示与控制。

核心特性

多游戏支持:首批支持五子棋、飞行棋等经典互动游戏,游戏库可持续扩展。
实时同步:基于 LiveKit 现有的实时信令通道,实现低延迟的多玩家状态同步。
无缝嵌入:以 View 或 Fragment 形式提供,可轻松嵌入到任何直播/语聊房界面布局中,支持灵活的 UI 定制。
高性能与低功耗:优化渲染逻辑,在保证流畅动画效果的同时,有效控制 CPU 与内存占用。
标准化接口:提供简洁清晰的 API,集成流程简单易懂。

适用场景

直播平台:主播与观众进行游戏互动。
语音社交平台:语聊房内房主与嘉宾、听众进行破冰游戏。
任何需要增强实时互动的 Android 应用场景。

效果展示

五子棋
飞行棋





前提条件

参考 准备工作 完成 TUILiveKit 组件接入,当前支持 LiveKit 的版本为 TUILiveKit 3.4 及以上。

组件接入

步骤1:集成 GameBox 组件

下载并拷贝文件:下载并解压 TUIKit_Android,将 live/tuigamebox 文件夹拷贝到您工程的根目录,使其与 app 文件夹同级。


步骤2:工程配置

编辑您工程根目录的 settings.gradle 文件,添加以下代码来导入 tuigamebox 模块。
settings.gradle.kts
settings.gradle
include ':tuigamebox'
include ':tuigamebox'

步骤3:接入互动小游戏组件

1. 在您的应用中接入互动小游戏组件,使主播/观众能够在直播间一起玩互动小游戏。请参考 Demo 中的接入示例在 XML 文件中集成 GameView:
<com.trtc.uikit.gamekit.gameview.GameView
android:id="@+id/game_view"
android:layout_width="match_parent"
android:layout_height="440dp"
android:orientation="vertical"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:layout_marginTop="-100dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/seat_grid_container" >
</com.trtc.uikit.gamekit.gameview.GameView>
或者通过代码动态创建 GameView 组件:
// 1. 创建 GameView 对象
GameView tuiGameView = new GameView(mContext);

// 2. 初始化 GameView ,userId 为当前用户的 ID,userName 为用户昵称,avatarUrl 为用户头像URL,isRoomOwner表示当前是否是房主
tuiGameView.init("userId", "userName", "avatarUrl", isRoomOwner);

// 3. 将 GameView 对象添加到您的视图上
yourGameViewContainerView.addView(tuiGameView);
2. 处理生命周期事件,在 Activity 或者 Fragment 中调用 GameView 对象相关事件:
@Override
public void onResume() {
super.onResume();
if (mGameView != null) {
mGameView.onResume();
}
}

@Override
public void onPause() {
super.onPause();
if (mGameView != null) {
mGameView.onPause();
}
}

@Override
public void onDestroy() {
super.onDestroy();
if (mGameView != null) {
mGameView.onDestroy();
}
}

步骤4:启动小游戏

说明:
当前只有房主可以启动小游戏。
// 启动飞行棋
mGameView.startGame(LiteGameEngine.GameID.FLYINGCHESS);
// 启动五子棋
mGameView.startGame(LiteGameEngine.GameID.GOBANG);

恭喜您

完成以上步骤后,即可成功集成互动小游戏组件功能。