TapTap PC 端集成
本文介绍如何快速通过 TapSDK 接入 TapTap PC 端。
环境要求
- Unity 2019.4 或更高版本
项目配置
1. 添加 SDK 所需的外部依赖
SDK 内部使用的 JSON 解析库为 Newtonsoft-json
,如果当前工程已接入该依赖库,则不需额外处理,否则需在 Packages/manifest.json
添加如下依赖:
"com.unity.nuget.newtonsoft-json":"3.2.1"
由于 SDK 默认支持移动端及 PC 平台, 所以编译时需添加 com.google.external-dependency-manager
的移动端依赖,如果当前工程已接入该依赖库,则不需额外处理,否则需在 Packages/manifest.json
添加如下依赖:
{
"dependencies": {
"com.google.external-dependency-manager": "1.2.179"
},
"scopedRegistries": [
{
"name": "package.openupm.com",
"url": "https://package.openupm.com",
"scopes": [
"com.google.external-dependency-manager"
]
}
]
}
2. 添加 SDK 依赖
SDK 支持远程依赖 (Unity Package Manager) 及本地文件导入两种集成方式,开发者根据需求选择其中一种即可,推荐使用远程依赖。
远程依赖
SDK 支持通过 NPMJS 及 GitHub 两种方式,开发者选择其中一种即可。
1. NPMJS 接入
在项目的 Packages/manifest.json
文件中添加以下依赖:
"dependencies":{
"com.taptap.sdk.core":"4.7.0"
}
但需要注意的是,需在 Packages/manifest.json
中 dependencies
同级下声明 scopedRegistries
:
"scopedRegistries":[
{
"name": "NPMJS",
"url": "https://registry.npmjs.org/",
"scopes": ["com.taptap"]
}
]
2. GitHub 接入
在项目的 Packages/manifest.json
文件中添加以下依赖:
"dependencies":{
"com.taptap.sdk.core":"https://github.com/taptap/TapSDKCore-Unity.git#4.7.0"
}
在 Unity 顶部菜单中选择 Window > Package Manager 可查看已经安装在项目中的包。
本地文件导入
- 在 下载页 下载下列模块对应
unitypackage
文件,并在 Unity 项目中依次通过 Assets > Import Packages > Custom Packages 进行导入,包括:
TapSDK_Core.unitypackage
TapTapSDK 核心模块,必选
- 如果当前项目已集成
Newtonsoft.Json
依赖,则忽略该步骤,否则在NuGet.org
Newtonsoft.Json 页面中通过点击右侧 「Download package」 下载库文件,并将下载的文件后缀从.nupkg
修改为.zip
,同时解压该文件并复制内部的Newtonsoft.Json.dll
文件拷贝到工程Assets
的Plugins
目录下,另外为了避免导出 IL2CPP 平台时删除必要数据,需在Assets
目录下创建link.xml
文件(如果已有该文件,则添加如下内容),其内容如下:
<linker>
<assembly fullname="System.Core">
<type fullname="System.Linq.Expressions.Interpreter.LightLambda" preserve="all" />
</assembly>
</linker>
初始化
根据 TapTap 开发者中心的应用配置信息,调用如下接口完成初始化
using TapSDK.Core;
// 核心配置
TapTapSdkOptions coreOptions = new TapTapSdkOptions
{
// 客户端 ID,开发者后台获取
clientId = "游戏 clientId",
// 客户端令牌,开发者后台获取
clientToken = "游戏 clientToken",
// 地区,仅支持 CN 国内
region = TapTapRegionType.CN,
// 是否开启日志,Release 版本请设置为 false
enableLog = true,
// 客户端公钥,开发者后台获取
clientPublicKey = "游戏 clientPublicKey"
};
// TapSDK 初始化
TapTapSDK.Init(coreOptions);
// 当需要添加其他模块的初始化配置项,例如合规认证等, 请使用如下 API
TapTapSdkBaseOptions[] otherOptions = new TapTapSdkBaseOptions[]
{
// 其他模块配置项
};
TapTapSDK.Init(coreOptions, otherOptions);
启动校验
为了保证游戏能够通过 TapTap PC 端获取必要的应用和授权信息,开发者在调用初始化接口后,必须调用该接口来完成前置启动校验,当返回值为 true 时,游戏可进行后续登录等其他业务流程,当返回结果为 false 时,SDK 会通过弹窗的形式引导用户重新通过 TapTap PC 端启动游戏或下载 TapTap PC 端,游戏需停止进行后续业务流程 。
由于校验过程属于异步操作,所以调用该接口前建议游戏先显示加载(Loading)弹窗, 当 SDK 返回结果后,再关闭该弹窗。调用示例如下:
using TapSDK.Core;
bool IsSuccess = await TapTapSDK.IsLaunchedFromTapTapPC();
if (IsSuccess)
{
UnityEngine.Debug.Log(" TapTap PC 端校验通过");
// TODO: 继续后续登录等其他业务流程
}
else
{
UnityEngine.Debug.Log(" TapTap PC 端校验未通过");
// 停止执行后续业务流程
}
登录及获取用户信息
接入 TapTap PC 端的游戏在登录流程上与未接入的游戏存在显著差异,游戏接入后,在用户登录时,SDK 会基于当前 TapTap PC 端已登录的账号信息自动完成静默登录,无需用户进行额外操作,从而显著提升登录体验。
由于该流程为异步操作,建议开发者在发起登录前显示加载(Loading)弹窗,并在登录流程完成后关闭该弹窗,以提升用户体验。具体接入方式请参考 TapTap 登录开发指南。
合规认证
通过 TapTap PC 端完成登录后,SDK 将会通过 TapTap PC 端获取用户的实名信息并进行后续合规认证检查,避免了用户额外授权。
具体接入方式请参考 合规认证开发指南。
开发调试方式
在游戏尚未发布期间,开发者可通过添加测试用户到白名单并下载 TapTap PC 端后,根据不同开发阶段选择对应测试方案进行测试。
添加白名单
前往 开发者中心 > 商店 > 版本发布 > 测试 > 内部测试 页面, 选择创建测试计划并添加测试用户白名单,示例视频如下:
下载 TapTap PC 端
下载 TapTap PC 端,并登录已配置的白名单账号
本地测试方案
该方案适用于开发阶段自测,无需传包至 TapTap。开发者可前往 TapTap 开发者中心 >>游戏服务 >>启动校验 页面点击 配置文件
,如图所示:
浏览器会下载一个名称为 taptap_client_id.txt
的文本文件,开发者需将该文件移动到游戏可执行文件所在目录下,即可在本地启动游戏,开始测试相关业务功能。
传包测试方案
该方案适用于上架前自测,可传包至 TapTap 平台后下载游戏测试
1. 上传游戏包体
前往开发者中心 >> 商店 >> PC 包体管理 >> 包体管理,点击「上传包体」,选择包体文件,并填写启动项配置。
如果您的游戏有依赖库,请同时将依赖库的安装文件放置于游戏目录内一并上传,并在 PC 包体管理 >> 基础配置选择对应的库及库的启动项配置,TapTap 将在用户点击下载安装游戏时,帮助游戏完成依赖库的安装。
2. 完成包体自测
测试用户在 Windows 电脑本地下载 TapTap PC 版并登录测试账号后,点击「立即自测」或复制自测链接至浏览器。
注意:当发布游戏时,请务必删除游戏目录中的 taptap_client_id.txt
调试文本文件