更新唤起开发指南
本文档只适用于国内版本,海外版本请参考 文档
环境要求
- Unity
- Android
- iOS
- UE4
- TapSDK 3.23.0 及以上版本
- Unity 2019.4 或更高版本
- Android 5.0(API level 21)或更高版本
点击展开 Unity 2022.3 之前的版本升级 Gradle 版本
为了将 Gradle 版本和 Android Gradle Plugin 版本对应,需要更新 Gradle 版本,下载 6.7.1 版本的 Gradle,解压后放到自定义的文件夹中,同时不勾选 Unity 中的 Preferences
-> External Tools
-> Android
-> Gradle Installed with Unity(recommend)
,改为选择解压后 Gradle 文件夹的位置,如 <some path>/gradle-6.7.1。
另外, Unity 更新唤醒模块会自动更新项目中使用的 Android Gradle Plugin 版本,如果您需要手动更改或者查看,可以在 Project Settings
-> Player
-> Android Tab
-> Publish Settings
-> Build
,然后勾选Custom Base Gradle Template
将以下更改应用于生成的这个文件: Assets/Plugins/Android/baseProjectTemplate.gradle
修改文件内容:
dependencies {
// If you are changing the Android Gradle Plugin version, make sure it is compatible with the Gradle version preinstalled with Unity
// See which Gradle version is preinstalled with Unity here https://docs.unity3d.com/Manual/android-gradle-overview.html
// See official Gradle and Android Gradle Plugin compatibility table here https://developer.android.com/studio/releases/gradle-plugin#updating-gradle
// To specify a custom Gradle version in Unity, go do "Preferences > External Tools", uncheck "Gradle Installed with Unity (recommended)" and specify a path to a custom Gradle version
// 将版本修改至少为 4.2.0
classpath 'com.android.tools.build:gradle:4.2.0'
}
- TapSDK 3.23.0 及以上版本
- Android 5.0(API level 21)或更高版本
- 受限于苹果政策,iOS 平台的 TapTap 客户端不提供游戏更新功能
- 安装 UE 4.26 及以上版本
- iOS 12 或更高版本
- Android 5.0(API level 21)或更高版本
- macOS 10.14.0 或更高版本
- Windows 7 或更高版本
支持平台:Android / iOS / Windows / macOS
集成前准备
使用更新唤起功能前提需要通过 TapTap 开发者中心 > 商店 > 游戏资料 > 商店资料 中已经上传 APK, 发布设置为 立即上线 并通过 审核(开发者包如果暂时不想对外,发布状态选 敬请期待 或者 预约)。
SDK 获取
- Unity
- Android
- iOS
- UE4
SDK 可以通过 Unity Package Manager 导入或手动导入,二者任选其一。
如果选择 UPM 导入,可以在项目的 Packages/manifest.json
文件中添加:
"dependencies":{
"com.taptap.tds.update":"https://github.com/TapTap/TapUpdate-Unity.git#3.23.0",
"com.taptap.tds.common":"https://github.com/TapTap/TapCommon-Unity.git#3.23.0",
"com.leancloud.storage": "https://github.com/leancloud/csharp-sdk-upm.git#storage-1.0.2",
"com.tapsdk.androiddependencyresolver": "https://github.com/TapTap/Android_Dependency_Resolver#1.1.5",
}
如果选择手动导入:
- 在 下载页 找到 TapSDK Unity 下载地址,下载 TapSDK-UnityPackage.zip 然后解压,导入其中的
TapTap_Update
和TapTap_Common
模块。 - 下载 LeanCloud-SDK-Storage-Unity.zip,解压后为 Plugins 文件夹,拖拽至 Unity 即可。
在 下载页 获得 TapSDK,添加 TapUpdate
和 TapCommon
模块。
repositories{
flatDir {
dirs 'libs'
}
}
dependencies {
...
implementation (name:'TapUpdate_3.23.0', ext:'aar')
implementation (name:'TapCommon_3.23.0', ext:'aar')
implementation 'com.squareup.okhttp3:okhttp:3.12.1'
implementation 'androidx.core:core:1.6.0'
implementation 'com.google.android.flexbox:flexbox:3.0.0'
}
受限于苹果政策,iOS 平台的 TapTap 客户端不提供游戏更新功能
安装插件
- 下载 TapSDK UE4,TapSDK-UE4-xxx.zip 解压后将
TapUpdate
、TapCommon
文件夹 Copy 到项目的Plugins
目录中 - 重启 Unreal Editor
- 打开 编辑 > 插件 > 项目 > TapTap,开启
TapUpdate
模块
添加依赖
在 Project.Build.cs 中添加所需模块:
PublicDependencyModuleNames.AddRange(new string[] { "Core",
"CoreUObject",
"Engine",
"Json",
"InputCore",
"JsonUtilities",
"SlateCore",
"TapCommon",
"TapUpdate",
});
导入头文件
#include "TapUpdate.h"
开始更新
- Unity
- Android
- iOS
- UE4
using TapTap.Update
TapTap.Update.TapUpdate.UpdateGame(() => {
// 取消更新的事件
});
import com.taptap.services.update.TapUpdate;
import com.taptap.services.update.TapUpdateCallback;
TapUpdate.updateGame(DemoUpdateActivity.this, new TapUpdateCallback() {
@Override
public void onCancel() {
// 取消更新的事件
}
});
受限于苹果政策,iOS 平台的 TapTap 客户端不提供游戏更新功能
FTapUpdate::UpdateGame(FSimpleDelegate::CreateLambda([]() {
// Update cancel
}));
测试
为了保证上线后,游戏对于用户是否正常使用更新唤起功能,请务必按照以下说明完成自测。
上传 APK
新应用需要上传测试的 APK 至开发者中心,并通过审核。已上架的游戏,需确保更新资料版本中的 APK 包名和已上架的 APK 包名保持一致。
应用上线
应用的发布状态需要设置成上线状态,此时如果并不想让玩家通过 TapTap 下载游戏包体,可以将游戏状态设置成为 预约
或者 敬请期待
。
开始测试
触发更新唤起功能后正常状态是可以唤起应用在 TapTap 商店的详情页面。
常见问题
弹窗提示『请求失败,请重试』
可以参考集成前准备检查是否已经提交 APK 并通过审核,以及发布设置是否为立即上线状态。
从 v3.23.0 以前的版本更新到新版本的升级流程
将原先 updateGame
相关的接口代码删除,并重新按 上文 的流程接入
Unity 唤醒更新会增加哪些 Android 依赖库
首先 Unity 唤醒更新只会在 Android 平台生效,其次唤醒更新新加的依赖库会在打包过程中自动添加到 Unity Gradle Template 中,您可以到 唤醒更新模块/Mobile/Editor/TapTapUpdateDependencies.xml
中查看到,具体来说会增加 3 个依赖库:
- com.squareup.okhttp3:okhttp:3.12.1
- androidx.core:core:1.6.0
- com.google.android.flexbox:flexbox:3.0.0