跳到主要内容

更新唤起开发指南

信息

本文档只适用于国内版本,海外版本请参考 文档

环境要求

  • 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'
}

集成前准备

使用更新唤起功能前提需要通过 TapTap 开发者中心 > 商店 > 游戏资料 > 商店资料 中已经上传 APK, 发布设置为 立即上线 并通过 审核(开发者包如果暂时不想对外,发布状态选 敬请期待 或者 预约)。

SDK 获取

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.jsondependencies 同级下声明 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 可查看已经安装在项目中的包。

方法二:手动导入

  1. 下载页 找到 TapSDK UnityLeanCloud C# SDK 下载地址,分别下载 TapSDK-UnityPackage.zipLeanCloud-SDK-Realtime-Unity.zip

    然后请点击下载 TapTap_AndroidDependencyResolver.unitypackage

  2. 在 Unity 项目中依次转到 Assets > Import Packages > Custom Packages,从解压后的 TapSDK-UnityPackage.zip 中,选择希望在游戏中使用的 TapSDK 包导入,其中:

    • TapTap_Common.unitypackage TapSDK 基础库,必选。
    • TapTap_Update.unitypackage TapTap 唤起更新库,必选。
    • TapTap_AndroidDependencyResolver.unitypackage 必选。
  3. 解压后的 LeanCloud-SDK-Realtime-Unity.zip 为 Plugins 文件夹,拖拽至 Unity 即可。

开始更新

using TapTap.Update

TapTap.Update.TapUpdate.UpdateGame(() => {
// 取消更新的事件
});

测试

为了保证上线后,游戏对于用户是否正常使用更新唤起功能,请务必按照以下说明完成自测。

上传 APK

新应用需要上传测试的 APK 至开发者中心,并通过审核。已上架的游戏,需确保更新资料版本中的 APK 包名和已上架的 APK 包名保持一致。

应用上线

应用的发布状态需要设置成上线状态,此时如果并不想让玩家通过 TapTap 下载游戏包体,可以将游戏状态设置成为 预约 或者 敬请期待

开始测试

触发更新唤起功能后正常状态是可以唤起应用在 TapTap 商店的详情页面。

常见问题

弹窗提示『请求失败,请重试』

可以参考集成前准备检查是否已经提交 APK 并通过审核,以及发布设置是否为立即上线状态。

从 v3.23.0 以前的版本更新到新版本的升级流程

将原先 updateGame 相关的接口代码删除,并重新按 上文 的流程接入

Unity 唤醒更新会增加哪些 Android 依赖库

首先 Unity 唤醒更新只会在 Android 平台生效,其次唤醒更新新加的依赖库会在打包过程中自动添加到 Unity Gradle Template 中,您可以到 唤醒更新模块/Mobile/Editor/TapTapUpdateDependencies.xml 中查看到,具体来说会增加 3 个依赖库:

  1. com.squareup.okhttp3:okhttp:3.12.1
  2. androidx.core:core:1.6.0
  3. com.google.android.flexbox:flexbox:3.0.0