跳到主要内容
版本:v3

正版验证开发指南

正版验证适用于在 TapTap 上架的付费下载游戏。

游戏集成 TapSDK 的正版验证之后,当玩家第一次启动游戏时(包含卸载后再次安装),SDK 会前往 TapTap 查询玩家是否已购买游戏:

  • 如已购买,则可正常进入游戏。
  • 如查询到未购买,将出现「游戏未激活,请前往 TapTap 购买此游戏」弹窗,玩家必须选择「打开 TapTap」购买之后才能游玩。
信息

仅提供内购、不做付费下载的游戏不需要接入正版验证,参考 DLC 文档接入即可。

SDK 获取

可以在 下载页 获得 TapSDK,添加以下依赖:

SDK 可以通过 Unity Package Manager 导入或手动导入,二者任选其一。

如果选择 UPM 导入,可以在项目的 Packages/manifest.json 文件中添加:

"dependencies":{
"com.taptap.tds.common":"https://github.com/TapTap/TapCommon-Unity.git#3.23.0",
"com.taptap.tds.dlc": "https://github.com/TapTap/TapLicense-Unity.git#3.23.0",
"com.leancloud.storage": "https://github.com/leancloud/csharp-sdk-upm.git#storage-1.0.2",
}

如果选择手动导入:

  • 下载页 找到 TapSDK Unity 下载地址,下载 TapSDK-UnityPackage.zip 然后解压,导入其中的 TapTap_CommonTapTap_License 模块。
  • 下载 LeanCloud-SDK-Storage-Unity.zip,解压后为 Plugins 文件夹,拖拽至 Unity 即可。

设置授权回调

// 需要引入 `License` 库
using TapTap.License;

// 默认情况下 SDK 会弹出不可由玩家手动取消的弹窗来避免未授权玩家进入游戏,如果需要回调来触发流程,请添加如下代码
TapLicense.SetLicencesCallback(ITapLicenseCallback callback);

public interface ITapLicenseCallback
{
// 授权成功回调
void OnLicenseSuccess();
}

检查是否购买游戏

Check 方法中参数默认值为 false,表示为 SDK 首次触发以及在距离首次触发的第 5 天之后再一次会通过 TapTap 客户端来确认当前登录用户是否购买游戏,如果使用 true 的话,则每次接口调用都会通过 TapTap 客户端来确认当前登录用户是否购买过游戏。

TapLicense.Check();
TapLicense.Check(true);

Android 11 及更高版本的适配

Android 11(API level 30)之后加强了隐私保护策略,引入了大量变更和限制,其中一个重要变更——软件包可见性,将会导致第三方应用无法拉起 TapTap 客户端,从而影响 TapTap 相关功能的正常使用,包括但不限于更新唤起 TapTap、购买验证等功能。

如果没有完成适配,Android 版本为 11 及更高版本的客户端打开游戏会提示「本游戏需要最新版 TapTap 服务支持」,无法正常进入游戏。异常呈现如下图所示:

图片描述

对此提供如下两种适配方案:

方案一:

编译时将 targetSdkVersion 改为 29(目前设置成 >= 30 会触发该问题)。

方案二:

  1. 将 gradle build tools 改为 4.1.0+:

    classpath 'com.android.tools.build:gradle:4.1.0'
  2. 在 AndroidManifest.xml 里添加 <queries> 标签中的内容:

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="string">

    <application
    . . .
    </application>

    <!--添加如下 queries 标签的内容,直接在 manifest 标签下-->
    <queries>
    <package android:name="com.taptap" />
    <package android:name="com.taptap.pad" />
    <package android:name="com.taptap.global" />
    </queries>
    </manifest>

测试

为了保证上线后,正版验证服务能够正常生效,请务必按照以下说明完成自测。

1. 上传 APK

前往开发者中心选择需要测试的游戏,依次转入游戏服务 > 开发与构建 > 正版验证 > 游戏配置 > 包名

上传需要测试的 APK 至开发者中心,等待审核通过。

2. 添加测试用户

前往开发者中心 > 游戏服务 > 开发与构建 > 正版验证 > 游戏配置 > 测试用户管理,填写测试用户的 TapTap ID。

3. 售卖设置

开发者中心 > 商店 > 售卖设置中为游戏设置测试价格,建议测试价格设置为 0.01 元,提交并等待审核通过。

4. 开始测试

打开 TapTap 客户端,使用上面填写的测试用户账号登录,从游戏商店页面开始正版验证的测试。

测试用户可在 TapTap 购买这个付费游戏,购买后才能顺利下载并进入游戏。

如果测试用户未购买,通过其他途径安装游戏 APK,进入游戏后会弹出不可由玩家手动取消的弹窗,显示「游戏未激活,请前往 TapTap 购买此游戏」。

正式售卖

完成上面的测试环节后,游戏可以开始售卖。按照以下步骤操作:

1. 完善应用信息

前往开发者中心,填写应用信息,等待审核通过。

2. 设置售卖价格

前往开发者中心 > 商店 > 售卖设置,开启售卖开关,设置游戏正常售卖金额,提交审核,并同步对接的 TapTap 运营相关信息。

3. 正式上线

所有流程都确保顺利后,游戏可正式上线。