更新唤起开发指南
info
本文档只适用于国内版本,海外版本请参考 文档
集成前准备
权限说明
该模块依赖权限如下:
| 权限 | 使用目的 | 权限申请时机 |
|---|---|---|
| 网络权限 | 用于正常网络访问 | 用户首次使用该功能时会申请权限 |
| 安装 APK 权限 | 用于安装 Tap 客户端 | 用户首次使用该功能时会申请权限 |
接入 SDK 后,SDK 会在 AndroidManifest.xml 中自动添加如下配置,用于检测设备是否已安装 Tap 客户端:
<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 获取
- Unity
- Android
Unity SDK 获取方式
Unity SDK 支持通过 Unity Package Manager(NPMJS/GitHub)和本地文件导入两种方式集成,详细的集成步骤请参考 Unity SDK 集成文档。
远程依赖示例
NPMJS 方式:在 Packages/manifest.json 中添加:
"dependencies":{
"com.taptap.sdk.core":"4.9.1",
"com.taptap.sdk.update":"4.9.1"
}
GitHub 方式:在 Packages/manifest.json 中添加:
"dependencies":{
"com.taptap.sdk.core":"https://github.com/taptap/tapsdk-unity-dist.git?path=/Core#4.9.1",
"com.taptap.sdk.update":"https://github.com/taptap/tapsdk-unity-dist.git?path=/Update#4.9.1"
}
本地文件导入
在 下载页 下载并导入以下 unitypackage 文件:
TapSDK_Core.unitypackage(TapTapSDK 核心模块,必选)TapSDK_Update.unitypackage(TapTapSDK 更新唤起模块,必选)
Android SDK 获取方式
Android SDK 通过 Maven 远程依赖方式集成。
- 在项目根目录的
build.gradle中添加仓库地址:
allprojects {
repositories {
google()
mavenCentral()
}
}
- 在 app module 的
build.gradle中添加对应依赖:
dependencies {
implementation 'com.taptap.sdk:tap-core:4.9.1'
implementation 'com.taptap.sdk:tap-update:4.9.1'
}
初始化
TapTapSdkOptions 详细参数见 入门指南#快速开始
- Unity
- Android Java
- Android Kotlin
using TapSDK.Core;
using TapSDK.Compliance;
// 核心配置 详细参数见 [入门指南#快速开始]
TapTapSdkOptions coreOptions = new TapTapSdkOptions();
// TapSDK 初始化
TapTapSDK.Init(coreOptions);
import com.taptap.sdk.core.TapTapRegion;
import com.taptap.sdk.core.TapTapSdk;
import com.taptap.sdk.core.TapTapSdkOptions;
/* 必选配置 */
// 开发者中心对应 Client ID
String clientId = "";
// 开发者中心对应 Client Token
String clientToken = "";
// 是否开启 log,建议 Debug 开启,Release 关闭,默认关闭 log
boolean enableLog = BuildConfig.DEBUG;
TapTapSdkOptions tapSdkOptions = new TapTapSdkOptions(
clientId, // 游戏 Client ID
clientToken, // 游戏 Client Token
TapTapRegion.CN // 游戏可玩区域: [TapTapRegion.CN]=国内 [TapTapRegion.GLOBAL]=海外
);
tapSdkOptions.setEnableLog(enableLog);
// 初始化 TapSDK
TapTapSdk.init(context, tapSdkOptions);
import com.taptap.sdk.core.TapTapSdk
import com.taptap.sdk.core.TapTapSdkOptions
import com.taptap.sdk.core.TapTapRegion
import com.taptap.sdk.core.TapTapLanguage
TapTapSdk.init(
context = context,
sdkOptions = TapTapSdkOptions(
clientId = clientId,
clientToken = clientToken,
region = TapTapRegion.CN,
preferredLanguage = TapTapLanguage.ZH_HANS,
enableLog = false
),
)
更新游戏
tip
【开发者中心配置更新】与【游戏自行判断更新】两种方式二选一即可。
Android 开发者注意
由于更新唤起 UI 依赖于开发者设置的 Activity 实例,所以为了避免因 Activity 发生重建导致更新唤起功能不可用,开发者应确保在屏幕旋转、配置修改时当前 Activity 不会发生重建,具体设置方式参考 限制 activity 重新创建。
开发者中心配置更新
适用于:无自有版本管理系统的游戏,特别是单机游戏。
- Unity
- Android Java
- Android Kotlin
using TapSDK.Update
TapTapUpdate.CheckForceUpdate();
import com.taptap.sdk.update.TapTapUpdate;
TapTapUpdate.checkForceUpdate();
import com.taptap.sdk.update.TapTapUpdate
TapTapUpdate.checkForceUpdate()
游戏自行判断更新
适用于:自有版本管理系统,期望更灵活触发、展示更新的网游。
- Unity
- Android Java
- Android Kotlin
using TapSDK.Update
// 自行维护版本校验逻辑,新版本发布时调用
TapTapUpdate.UpdateGame(() => {
// 唤醒更新收到[取消]回调
});
import com.taptap.sdk.update.TapTapUpdate;
import com.taptap.sdk.update.TapTapUpdateCallback;
// 自行维护版本校验逻辑,新版本发布时调用
TapTapUpdate.updateGame(activity, new TapTapUpdateCallback() {
@Override
public void onCancel() {
// 更新取消
}
});
import com.taptap.sdk.update.TapTapUpdate
import com.taptap.sdk.update.TapTapUpdateCallback
// 自行维护版本校验逻辑,新版本发布时调用
TapTapUpdate.updateGame(
activity = this,
callback = object : TapTapUpdateCallback {
override fun onCancel() {
Toast.makeText(this@DemoUpdateActivity, "取消更新", Toast.LENGTH_SHORT)
.show()
}
}
)
info
未安装 TapTap 客户端时,SDK 会询问用户是否使用 TapTap 更新,点击「取消」才会触发取消回调。
测试方式
为确保上线后更新唤起功能正常使用,请按照以下说明完成自测。
开发者中心配置更新
- 在 TapTap 开发者中心 商店 > 版本管理 上线包含 APK 的商店资料版本(需审核通过)。若 APK 暂不对外,可将发布状态设为「敬请期待」或「预约」,在 商店 > 游戏测试 开启封闭式测试、添加测试人员。
- 构建包名与开发者中心当前 APK 一致、版本号(Version Code)低于当前版本的测试包。
- 用该测试包触发更新,确认是否唤起 TapTap 商店详情页。
游戏自行判断更新
- 确保已在游戏资料中配置 APK 包名。
- 构建相同包名的测试包。
- 游戏自行触发更新,确认是否唤起 TapTap 商店详情页。