跳到主要内容
版本:v4

UE5 SDK 开发指南

集成前准备​

  1. 确认游戏在 TapTap 国内商店分发,上传 APK 的包名与当前游戏一致
  2. 参考 UE5 集成指南完成 TapSDK 基础接入

权限说明​

Android 权限说明​

该模块在 Android 平台需要如下权限:

权限使用目的权限申请时机
网络权限用于正常网络访问用户首次使用该功能时会申请权限
安装 APK 权限用于安装 Tap 客户端用户首次使用该功能时会申请权限

该模块将在 Android 应用中添加如下权限:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<queries>
<package android:name="com.taptap" />
<package android:name="com.taptap.global" />
</queries>

SDK 获取​

参考 UE5 集成指南完成 TapCore 基础接入。再从下载页下载相同版本的 TapUpdate,放入项目的 Plugins 目录并启用。

添加模块依赖​

在游戏模块的 <GameModule>.Build.cs 中添加:

PublicDependencyModuleNames.AddRange(new string[]
{
"TapCore",
"TapUpdate",
});

修改 Build.cs 后重新生成项目文件并编译。

选择更新方式​

更新唤起提供以下两种方式,游戏选择其中一种接入即可。两个接口仅在 Android 构建中生效:

对比项开发者中心配置更新游戏自行判断更新
适用场景没有自有版本管理系统,特别是单机游戏自有版本管理系统,期望更灵活触发、展示更新的网游
新版本判断方TapTap 根据开发者中心的版本配置判断游戏服务端或客户端自行判断
调用接口CheckForceUpdate()UpdateGame()
调用时机游戏启动后检查是否存在强制更新游戏判断需要更新后主动调用
开发者中心要求上传并审核新 APK,设置 APK 更新模式配置与游戏安装包一致的 APK 包名

开发者中心配置更新​

适用于:无自有版本管理系统的游戏,特别是单机游戏。

代码接入​

#include "TapUpdate.h"

UTapUpdate::CheckForceUpdate();

测试方式​

  1. 在 TapTap 开发者中心 商店 > 版本管理 上线包含 APK 的商店资料版本(需审核通过)。若 APK 暂不对外,可将发布状态设为「敬请期待」或「预约」,在 商店 > 游戏测试 开启封闭式测试、添加测试人员。
  2. 构建包名与开发者中心当前 APK 一致、版本号(Version Code)低于当前版本的测试包。
  3. 用该测试包触发更新,确认是否唤起 TapTap 商店详情页。
注意

为确保「强制更新」功能正常生效,请在上传新版本时将「APK 更新模式」设置为「强制更新」;若选择「普通更新」,将不会唤起 TapTap 商店页。

上传APK时需配置APK强更

游戏自行判断更新​

适用于:自有版本管理系统,期望更灵活触发、展示更新的网游。

代码接入​

等待 TapSDK 初始化成功,并由游戏自己的版本系统判断需要更新后,调用 UpdateGame()。

#include "TapUpdate.h"

UTapUpdate::UpdateGame(
FTapUpdateCancelCallback::CreateLambda([]()
{
// 玩家取消更新,根据游戏需求继续游戏或再次提示。
UE_LOG(LogTemp, Log, TEXT("玩家取消更新"));
}));
信息

未安装 TapTap 客户端时,SDK 会询问用户是否使用 TapTap 更新,点击「取消」才会触发取消回调。

测试方式​

  1. 确保已在游戏资料中配置 APK 包名。
  2. 构建相同包名的测试包。
  3. 游戏自行触发更新,确认是否唤起 TapTap 商店详情页。

在开发者中心配置 APK 包名

提示

如果游戏需要接入海外版本或不通过集成 SDK 实现,请参考 文档