跳到主要内容
版本:v3

DLC 开发指南

提示

请注意区分 DLC 与正版验证功能。

DLC 提供游戏内购功能,而正版验证则用于付费下载游戏。

如果游戏计划从付费下载转为免费下载 + 内购 DLC 解锁内容的形式上线,请在新版本中去除正版验证相关接口,仅接入以下 DLC 功能。

DLC 查询和购买

可以在 下载页 获得 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 即可。

DLC 回调设置

DLC 回调包含查询回调和购买回调。

public class MyTapDLCCallback:ITapDlcCallback
{
public void OnQueryCallBack(TapLicenseQueryCode code, Dictionary<string, object> queryList)
{
// 查询回调
}

public void OnOrderCallBack(string sku, TapLicensePurchasedCode status)
{
// 购买回调
}
}

TapLicense.SetDLCCallback(new MyTapDLCCallback());

DLC 查询

对应的查询回调会返回具体的查询结果,查询成功时会返回当前 Tap 玩家是否已经购买过对应商品,在查询回调中返回的键值对类型参数 queryList 中可以获取,该参数 key 为查询的商品 skuidvalue 表示该商品当前查询用户的购买状态:0 表示未购买,1 表示已购买。

TapLicense.QueryDLC(string[] skuIds);

DLC 购买

TapLicense.PurchaseDLC(string skuId);

参数说明

TapLicenseQueryCode

回调回调值说明
QUERY_RESULT_OK0查询成功
QUERY_RESULT_NOT_INSTALL_TAPTAP1检查测试机未安装 TapTap 客户端
QUERY_RESULT_ERR2查询失败
ERROR_CODE_UNDEFINED80000未知错误

skuId

内购商品 id,需要提交工单联系 TapTap 运营同学进行配置;

测试

为了保证上线后,游戏对于用户是否购买的判断能够正常生效,请务必按照以下说明完成自测。

上传 APK

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

应用上线

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

添加测试用户

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

开始测试

在 TapTap 客户端使用已填写的测试用户账号登录。

正式开始售卖

完善应用信息

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

设置售卖价格

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

正式上线

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