正版验证开发指南
正版验证适用于在 TapTap 上架的付费下载游戏。
游戏集成 TapSDK 的正版验证之后,当玩家第一次启动游戏时(包含卸载后再次安装),SDK 会前往 TapTap 查询玩家是否已购买游戏:
- 如已购买,则可正常进入游戏。
- 如查询到未购买,将出现「游戏未激活,请前往 TapTap 购买此游戏」弹窗,玩家必须选择「打开 TapTap」购买之后才能游玩。
付费下载
权限说明
- Unity
- Android
- iOS
- UE4
该模块需要访问设备中已安装的 Tap 客户端信息,在 Android 11 且工程 targetVersion > 29 时需要
开发者在应用 AndroidManifest.xml
中添加如下配置:
<queries>
<package android:name="com.taptap" />
<package android:name="com.taptap.pad" />
<package android:name="com.taptap.global" />
</queries>
该模块将在应用中添加如下权限:
<uses-permission android:name="android.permission.REORDER_TASKS" />
SDK 获取
可以在 下载页 获得 TapSDK,添加以下依赖:
- Unity
- Android
- iOS
- UE4
SDK 可以通过 Unity Package Manager 导入或手动导入,二者任选其一。请根据项目需要选择。
方法一:使用 Unity Package Manager
NPMJS 安装
从 3.25.0 版本开始,TapSDK 支持了 NPMJS 安装,优势是只需要配置版本号,并且支持嵌套依赖。
在项目的 Packages/manifest.json
文件中添加以下依赖:
"dependencies":{
"com.taptap.tds.dlc":"3.29.7",
"com.taptap.tds.common":"3.29.7",
}
但需要注意的是,要在 Packages/manifest.json
中 dependencies
同级下声明 scopedRegistries
:
"scopedRegistries": [
{
"name": "NPMJS",
"url": "https://registry.npmjs.org/",
"scopes": ["com.tapsdk", "com.taptap"]
}
]
GitHub 安装
在项目的 Packages/manifest.json
文件中添加以下依赖:
"dependencies":{
"com.taptap.tds.common":"https://github.com/TapTap/TapCommon-Unity.git#3.29.7",
"com.taptap.tds.dlc":"https://github.com/TapTap/TapLicense-Unity.git#3.29.7",
"com.leancloud.storage":"https://github.com/leancloud/csharp-sdk-upm.git#storage-2.3.0",
}
在 Unity 顶部菜单中选择 Window > Package Manager 可查看已经安装在项目中的包。
方法二:手动导入
-
在 下载页 找到 TapSDK Unity 下载地址,下载
TapSDK-UnityPackage.zip
。 -
在 Unity 项目中依次转到 Assets > Import Packages > Custom Packages,从解压后的
TapSDK-UnityPackage.zip
中,选择希望在游戏中使用的 TapSDK 包导入,其中:
TapTap_Common.unitypackage
TapSDK 基础库,必选。TapTap_License.unitypackage
TapTap 正版验证库,必选。
- 从 LeanCloud-SDK 下载页 中下载并解压 LeanCloud-SDK-Storage-Unity.zip,然后将 Plugins 文件夹拖拽至 Unity 即可。
将 SDK 包导入到项目 project/app/libs
目录下。打开项目的 project/app/build.gradle
文件,添加:
repositories{
flatDir {
dirs 'libs'
}
}
dependencies {
implementation name:'TapCommon_3.29.7', ext:'aar'
implementation name:'TapLicense_3.29.7', ext:'aar'
}
// 暂不支持
将插件 ** TapLicense ** 、** TapCommon ** 拷贝到项目的插件目录,并在项目模块的 ** build.cs ** 文件中添加依赖:
PublicDependencyModuleNames.AddRange(new string[] {
"Json",
"JsonUtilities",
"SlateCore",
"TapCommon",
"TapLicense",
});
测试模式设置
测试模式开启后,可以模拟线上正版验证流程,方便进行调试。
测试模式需要在 License 其他功能调用之前开启。
切记在上线前关闭测试模式
- Unity
- Android
- iOS
- UE4
// 需要引入 `License` 库
using TapTap.License;
// 设置是否开启测试环境
TapLicense.SetTestEnvironment(bool isTest);
// 设置是否开启测试环境
TapLicenseHelper.setTestEnvironment(boolean isTest, Activity activity);
// 暂不支持
// 需要引入 `License` 库
#include "TapLicense.h"
// 设置是否开启测试环境
FTapLicense::SetTestEnvironment(bool bIsTest);