更新唤起开发指南
本文档只适用于国内版本,海外版本请参考 文档
环境要求
- 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 {
// 将版本修改至少为 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 导入或手动导入,二者任选其一。请根据项目需要选择。
方法一:使用 Unity Package Manager
NPMJS 安装
从 3.25.0 版本开始,TapSDK 支持了 NPMJS 安装,优势是只需要配置版本号,并且支持嵌套依赖。
在项目的 Packages/manifest.json
文件中添加以下依赖:
"dependencies":{
"com.taptap.tds.update":"3.26.0",
}
但需要注意的是,要在 Packages/manifest.json
中 dependencies
同级下声明 scopedRegistries
:
"scopedRegistries": [
{
"name": "NPMJS",
"url": "https://registry.npmjs.org/",
"scopes": ["com.tapsdk", "com.taptap", "com.leancloud"]
}
]
GitHub 安装
在项目的 Packages/manifest.json
文件中添加以下依赖:
"dependencies":{
"com.taptap.tds.common":"https://github.com/TapTap/TapCommon-Unity.git#3.26.0",
"com.taptap.tds.update":"https://github.com/TapTap/TapLicense-Unity.git#3.26.0",
"com.leancloud.storage":"https://github.com/leancloud/csharp-sdk-upm.git#storage-2.3.0",
"com.tapsdk.androiddependencyresolver":"1.1.5",
}
"scopedRegistries": [
{
"name": "TapSDK",
"url": "https://nexus.tapsvc.com/repository/npm-registry/",
"scopes": [
"com.tapsdk",
"com.taptap",
"com.leancloud"
]
}
]
在 Unity 顶部菜单中选择 Window > Package Manager 可查看已经安装在项目中的包。
方法二:手动导入
在 下载页 找到 TapSDK Unity 和 LeanCloud C# SDK 下载地址,分别下载
TapSDK-UnityPackage.zip
和LeanCloud-SDK-Realtime-Unity.zip
。然后请点击下载
TapTap_AndroidDependencyResolver.unitypackage
。在 Unity 项目中依次转到 Assets > Import Packages > Custom Packages,从解压后的
TapSDK-UnityPackage.zip
中,选择希望在游戏中使用的 TapSDK 包导入,其中:- TapTap_Common.unitypackage TapSDK 基础库,必选。
- TapTap_Update.unitypackage TapTap 唤起更新库,必选。
- TapTap_AndroidDependencyResolver.unitypackage 必选。
解压后的
LeanCloud-SDK-Realtime-Unity.zip
为 Plugins 文件夹,拖拽至 Unity 即可。
在 下载页 获得 TapSDK,添加 TapUpdate
和 TapCommon
模块。
repositories{
flatDir {
dirs 'libs'
}
}
dependencies {
...
implementation (name:'TapUpdate_3.24.0', ext:'aar')
implementation (name:'TapCommon_3.24.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