三分钟集成 TapTap 防沉迷 SDK(Unity 版)

这篇具有很好参考价值的文章主要介绍了三分钟集成 TapTap 防沉迷 SDK(Unity 版)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

三分钟集成 Tap 防沉迷 SDK(Unity 版)

一、SDK 介绍

基于国家对上线所有游戏必须增加防沉迷功能的政策下,TapTap 推出防沉迷 SDK,供游戏开发者进行接入;允许未成年用户在周五、六、日以及法定节假日晚上 8:00-9:00进行游戏,防沉谜时间段进入游戏会弹窗进行提示!
三分钟集成 TapTap 防沉迷 SDK(Unity 版)

开发环境要求:

  • Unity 2019.4 或更高版本
  • iOS 10 或更高版本
  • Android 5.0(API level 21)或更高版本

🔗 Unity 集成 Demo 参考链接
🔗 Unity TapSDK 功能体验 APK 下载链接

二、集成前准备

1. 创建应用

进入开发者后台,按照提示开始创建应用;

2. 开通服务

在使用 TDS 实名认证和防沉迷服务之前,需要在上面创建的应用里找到 游戏服务 > 生态服务 > 合规认证 开通服务。
开通服务有两种方式:

  • 已有版号: 开通方式可以参考官方文档
  • 暂无版号: 可在开发者后台直接点击“立即开通”即可(选择该方式,不影响防沉迷功能测试)
    三分钟集成 TapTap 防沉迷 SDK(Unity 版)

如果使用 TapTap 快速授权,也需要开通 TapTap 登录功能,并且需要配置包名和签名,并且在打包时设置的包名和签名要和后台配置的保持一致!

三、开始集成

1. 导入依赖库

导入依赖库有两种方式,分别为Unity Package Manager(UMP)导入或手动导入(二者选其一即可):

  • UMP 方式导入(这种更方便,比较推荐):
    在项目的 Packages/manifest.json 文件中添加以下依赖:
"dependencies":{
    "com.tapsdk.antiaddiction":"https://github.com/taptap/TapAntiAddiction-Unity.git#3.16.1",
    "com.leancloud.storage": "https://github.com/leancloud/csharp-sdk-upm.git#storage-1.0.2",
    "com.taptap.tds.common":"https://github.com/TapTap/TapCommon-Unity.git#3.16.1",
}
  • 手动导入(因为要下载离线包,相对耽误时间):

    1、先从官方 SDK 下载页找到 TapSDK UnityLeanCloud C# SDK 下载地址,分别下载 TapSDK-UnityPackage.zipLeanCloud-SDK-Storage-Unity.zip

    2、解压 TapSDK-UnityPackage.zip 分别双击 TapTap_Common.unitypackageTapTap_AntiAddiction_3.16.1.unitypackage 然后导入包。

    3、将 LeanCloud-SDK-Storage-Unity.zip 解压后 Plugins 文件夹,拖拽到 Unity 项目就好了;

2. 初始化 SDK

using TapTap.AntiAddiction;
using TapTap.AntiAddiction.Model;

AntiAddictionConfig config = new AntiAddictionConfig()
{
    gameId = "your_client_id",      // TapTap 开发者中心对应 Client ID
    useTapLogin = true,             // 是否启动 TapTap 快速认证
    showSwitchAccount = false,      // 是否显示切换账号按钮
};         

Action<int, string> callback = (code, errorMsg) => {
    //code == 500;   //登录成功
    //code = 1000;   //用户登出
    //code = 1001;   //切换账号
    //code = 1030;   //用户当前无法进行游戏
    //code = 1050;   //时长限制
    //code = 9002;   //实名过程中点击了关闭实名窗
    UnityEngine.Debug.LogFormat($"code: {code} error Message: {errorMsg}");
};

AntiAddictionUIKit.Init(config, callback);

3. 开始实名

string userIdentifier = "玩家的唯一标识";
AntiAddictionUIKit.Startup(userIdentifier);

⚠️判断是否实名是通过传入的‘玩家唯一标识’进行判断的,如果同一个玩家,每次调用实名接口传入的唯一标识不同,会导致重复认证,所以一般建议玩家唯一标识可以传入该玩家的唯一ID,例如:使用 Tap 登录返回的 objectId、openid、unionid;重点是只要该唯一标识是和玩家唯一绑定就行。

4. 其他功能接口

登出

玩家在游戏内退出账号时调用,重置防沉迷状态。

AntiAddictionUIKit.Exit();
获取玩家年龄段
int ageRange = AntiAddictionUIKit.AgeRange;
获取剩余时长(单位:秒)
int remainingTimeInSeconds = AntiAddictionUIKit.RemainingTime;
获取剩余时长(单位:分钟)
int remainingTimeInMinutes = AntiAddictionUIKit.RemainingTimeInMinutes;
检查消费上限

检查消费上限功能需要游戏在用户每次消费成功后上报消费金额(方法在下面);

long amount = 100; // 金额的单位为 分
AntiAddictionUIKit.CheckPayLimit(amount,
    (result) => {
        // status 为 1 时可以支付
        int status = result.status;
        if (status == 1) {
            // 可以进行支付
        }
    },
    (exception) => {
        // 处理异常
    }
);
上报消费金额

客户端直接调用上报金额的可靠性比较低,建议用户使用服务端上报,REST API 接口可以参考官方 API 使用说明,一般无服务端的单机游戏会使用客户端进行调用。

long amount = 100; // 金额单位为 分
AntiAddictionUIKit.SubmitPayResult(amount,
    () => {
        // 成功
    }, (exception) => {
        // 处理异常
    }
);
上报游戏时长
AntiAddictionUIKit.EnterGame();
停止上报时长
AntiAddictionUIKit.LeaveGame();

四、打包 Android APK

  1. 通过 File -> Build Settings;弹出 Build Settings 页面;

  2. 选择 Android,点击 Switch Platform,然后如下图:
    三分钟集成 TapTap 防沉迷 SDK(Unity 版)

  3. 点击 Player Settings,然后点击 Publishing Settings 设置签名文件
    三分钟集成 TapTap 防沉迷 SDK(Unity 版)

  4. 点击 Other Settings 设置 Package Name
    三分钟集成 TapTap 防沉迷 SDK(Unity 版)

  5. 最后直接点击 Build 开始构建,构建成功后就可以打包成功!到此就结束了!
    三分钟集成 TapTap 防沉迷 SDK(Unity 版)

⚠️注意此处设置的包名以及签名文件要和开发者后台配置的包名签名要保持一致!

五、导出 XCode 项目

⚠️如果是手动下载 unitypackage 进行 SDK 导入,需要将 Assets/TapTap/Common/Plugins/iOS/TapTap.Common.dll 设置为只支持 iOS。

  1. iOS 配置

1.1、 在 Assets/Plugins/iOS/Resource 目录下创建 TDS-Info.plist 文件,复制以下代码并且替换其中的 ClientId。如果游戏使用了 TapTap 内嵌动态或数据分析服务,需要配置相关权限并替换授权文案:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>taptap</key>
    <dict>
        <key>client_id</key>
        <string>换成你的 ClientId 值</string>
    </dict>

    <!--使用内嵌动态服务,需要相册、相机、麦克风权限-->
    <key>NSPhotoLibraryUsageDescription</key>
    <string>说明为何应用需要此项权限</string>
    <key>NSCameraUsageDescription</key>
    <string>说明为何应用需要此项权限</string>
    <key>NSMicrophoneUsageDescription</key>
    <string>说明为何应用需要此项权限</string>
    <!--使用数据分析服务需要 IDFA 权限。如应用程序不想弹框,可以设置 TapDB.AdvertiserIDCollectionEnabled(false)-->
    <key>NSUserTrackingUsageDescription</key>
    <string>说明为何应用需要此项权限</string>
</dict>
</plist>

1.2、 使用 Xcode 13.0 beta 5 编译,检查 Unity 输出的 Xcode 工程:

  • 请确保设置 Xcode - General - Frameworks, Libraries, and Embedded Content 中的 AntiAddictionService.framework 和 AntiAddictionUI.framework 为 Do Not Embed。
  • 如果编译报错找不到头文件或者模块,请确保 Xcode-Build Settings - Framework Search Paths 中的路径以保证 Xcode 正常编译。
  • 确保 Xcode 工程的 Build Settings 的 Swift Compile Language/Swfit Language Version 为 Swift5。
  • 添加依赖库 libz.tbd libc++.tdb
  • 开始代码接入
  • 将 AntiAddiction-Unity/Assets/Plugins/iOS/Resource/AntiAdictionResources.bundle 拷贝到游戏项目下 (如果 unity 项目没有正确导入 AntiAddictionResources.bundle)
    *防沉迷 SDK 需要联网和发送请求数据的权限,请开发者注意在项目中声明相应权限。
  1. 通过 File -> Build Settings;弹出 Build Settings 页面;

  2. 选择 iOS,点击 Switch Platform,然后如下图:
    三分钟集成 TapTap 防沉迷 SDK(Unity 版)

  3. 点击 Player Settings,开始设置 Bundle Identifier、Version、Company Name、Product Name 信息;
    三分钟集成 TapTap 防沉迷 SDK(Unity 版)

三分钟集成 TapTap 防沉迷 SDK(Unity 版)

  1. 最后直接点击 Build 然后开始选择导出项目文件夹路径进行开始导出;

  2. 接着就是使用 XCode 打开导出项目中的 Unity-iPhone.xcodeproj 文件;

  3. 开始设置证书和 Bundle Identifier,结果如下:
    三分钟集成 TapTap 防沉迷 SDK(Unity 版)

  4. 最后开始运行就可以了,至此所有集成介绍全部完成!

六、常见问题

官方常见问题汇总

问题排查思路:文章来源地址https://www.toymoban.com/news/detail-428745.html

  1. 对照文档检查依赖以及集成方式是否按照正确集成;
  2. 检查初始化配置信息是否和开发者平台一致;
  3. 检查调用的实名接口的唯一标识是否唯一;
  4. 检查调用的方法是否正确;

到了这里,关于三分钟集成 TapTap 防沉迷 SDK(Unity 版)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Flutter集成UniMPSDK(Uni小程序SDK)

    SDK文件结构如下: 小程序打包基座: 提示:尽量与 UniMPSDK 版本一致 libs依赖库配置 查看Flutter项目中 android/app 目录中是否存在 libs 文件夹,没有就创建。 将 SDK-Android@3.98-20231127/SDK/libs 中相应的依赖复制到 项目 android/app/libs/ libs 文件夹依赖库可根据功能需要进行增加或删除,

    2024年04月16日
    浏览(39)
  • 【AGC】集成APMS SDK后台无数据问题

    【 问题描述 】 开发者按照文档集成了APMS SDK,但是在AGC后台没有数据,需要帮忙定位。 【 问题分析 】 后台没有性能数据的原因有很多,要从端侧和与云侧进行定位分析。 1.     首先需要查看端侧的调试日志,调试日志可以直观的看到性能信息的收集与上报动作。 打开

    2024年02月10日
    浏览(23)
  • 软件的开发工具包(SDK)与集成开发环境(IDE)

    本文重点论述软件的开发工具包(SDK)与集成开发环境(IDE)的基本概念和作用。 通常情形下,无论是安装一个软件还是开发一个软件,实际上主要做两个事情:产生SDK(Software Development Kit,简称SDK,软件开发工具包)和IDE(Integrated Development Environment,简称IDE,集成开发环

    2024年02月16日
    浏览(37)
  • Xcode通过Add package自动集成第三方SDK问题汇总

    问题1:  解决方法:这个问题可能是因为 Adjust 或者 Facebook 的库当中依赖的某些类库的仓库地址是 git:// 协议,通过这种协议与 GitHub 通讯时会使用到你的 SSH 配置,你电脑上相关的 ssh key 使用了 GitHub 不再支持的格式,请参考提示中的网址重新生成相关的 SSH key:https://githu

    2024年02月13日
    浏览(28)
  • 中宣部防沉迷系统PHP版本(管局防沉迷验证-PHP-全版本-接口测试样例)

    现在对接游戏,无论是登录还是支付都是要去对接防沉迷实名认证接口,但前期的话你要登录网络游戏防沉迷实名认证系统进行接口测试, $appid ,$bizId,$key去接口测试页面找(正式上线在密钥管理) , 接下来跟大家说说调试步骤: 第一步:配置白名单  第二步:点击接口

    2024年03月13日
    浏览(60)
  • 集成 Firebase 后,Flutter IM SDK 在 Android 端不触发回调

    描述 客户已集成 Firebase Messaging,Android 平台 Flutter IM SDK 的不触发任何回调。 分析(根因分析、需求分析) 可能原因是客户构建了一个 FlutterEngine instance,导致 SDK 的 FlutterEngine instance 失效了。 解决方案 找到以下 java 文件 packages/firebase_messaging/firebase_messaging/android/src/main/jav

    2024年02月01日
    浏览(30)
  • 【unity接入SDK案例】从0到1 如何接入百度地图SDK到unity中【二】

    👨‍💻个人主页 :@元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏 :Unity基础实战 下载入口 下载入口 android studio版本是:2021.2.1.16, 打开后 点击SDK Manager 我们需要更改一下SDK的安装路径 选择自己新建的文

    2024年04月09日
    浏览(37)
  • 【unity接入SDK案例】从0到1 如何接入百度地图SDK到unity中【一】

    👨‍💻个人主页 :@元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏 :Unity基础实战 下载入口 下载入口 android studio版本是:2021.2.1.16, 打开后 点击SDK Manager 我们需要更改一下SDK的安装路径 选择自己新建的文

    2024年03月17日
    浏览(32)
  • 低代码如何集成多平台(企业微信、钉钉、飞书)SDK,且听我细细道来

    我们是一家做 低代码 产品开发的公司,我司的低代码产品支持在多个平台环境内使用:有钉钉、企业微信、微信、飞书、W eb 浏览器(如谷歌),后续还会接入更多平台。面对这么多平台,每个平台的SDK可能一致,可能不一致。 那我们如何集成多平台SDK呢? 且听我细细道来

    2024年04月13日
    浏览(36)
  • Unity接入PICO Unity Integration SDK

     1.我下载的SD版本是 2.2;  2.支持Pico3 ,Pico 4开发   3.Pico设备的系统版本要在5.6.0以上 4.注意支持的Unity 版本最低为2020.3.21  我用的是2021.2.5 下载完成并且解压出来  1.打开包管理器,选择从磁盘中加载选择 packakge.json  回到unity后会看见是否切换新版输入系统,然后等待unity重启

    2024年02月07日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包