ZAnti-AddictionSDK 是什么
根据2019年10月15日发布的《关于防止未成年人沉迷网络游戏的通知》,游戏用户需使用有效身份证件进行实名认证。
未成年用户仅可在周五、周六、周日和法定节假日每日20时至21时游玩1小时,其他时间均不得以任何形式向未成年人提供游戏服务。
Unity开发者不需要针对防沉迷规定进行功能开发,只需要在正常的游戏代码上接入本SDK并进行初始化即可。
平台支持
-
iOS
- Xcode 10 或更高版本
- iOS 10.0 或更高版本
-
CocoaPods
- Xcode 10 或更高版本
-
Android
- 不支持
集成步骤
1. 获取 Unity 插件
点此下载 ZAnti-AddictionSDK.unitypackage
或直接使用本项目内的ZAnti-AddictionSDK.unitypackage文件。
2. 导入
在 Unity 编辑器中打开项目,然后依次选择 Assets > Import Package > Custom Package,并找到你下载的 ZAnti-AddictionSDK.unitypackage 文件并导入。
Import
加入防沉迷 SDK
防沉迷 Unity 插件随 Unity Play 服务解析器库一起发布。 此库旨在供需要访问 Android 特定库(例如 AAR)或 iOS CocoaPods 的所有 Unity 插件使用。它为 Unity 插件提供了声明依赖项的功能,然后依赖项会被自动解析并复制到 Unity 项目中。
1. 部署到 iOS
无需执行其他步骤即可将防沉迷 SDK 加入 Unity 项目中。
注意:iOS 依赖项的标识是通过 CocoaPods 完成的,而 CocoaPods 是构建过程完成后的一个运行步骤。
2. 部署到 Android
暂未开通
接入前准备
配置iOS参数
请在info.plist中进行如下配置:
-
NSUserTrackingUsageDescription:是为了获取IDFA权限 -
zgameid:请联系掌游产品获取 -
zchannelid:请联系掌游产品获取<key>zgameid</key> <string>your game id</string> <key>zchannelid</key> <string>your channel id</string> <key>NSUserTrackingUsageDescription</key> <string>IDFA权限获取说明</string>
配置Apple登录
由于SDK中使用了Apple登录,所以需要在iOS构建完毕后增加Apple登录权限
1.
2.
3.
你可能会遇到如下错误:
- "xxx" requires a provisioning profile with the Sign in with Apple feature.
- 点击了加号以后找不到Sign in with Apple的选项
这可能是因为你使用的配置文件没有开启Apple登录权限,请联系掌游产品获取正确的配置文件。
接入
创建 AntiAddictionSDK
using System;
using UnityEngine;
using AntiAddictionSDK.Api;
using AntiAddictionSDK.Common;
using AntiAddictionSDK;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class AASDKDemoScript: MonoBehaviour
{
AntiAddictionStytemSDK antiAddictionSDK;
public Text statusText;
// Start is called before the first frame update
void Start()
{
antiAddictionSDK = new AntiAddictionStytemSDK();
antiAddictionSDK.ZAASDKCompleted += HandleZAASDKCompleted;
}
// 获取用户实名认证状态
// 0: 未实名认证
// 1:已实名认证
public void IsAuthenticated()
{
statusText.text = "IsAuthenticated";
if (antiAddictionSDK != null)
{
statusText.text = antiAddictionSDK.IsAuthenticated()+"";
}
}
// 获取当前用户年龄段
// 0 未认证
// 1 成年人
// 2 未成年人
public void GetUserAgeGroup()
{
statusText.text = "GetUserAgeGroup";
if (antiAddictionSDK != null)
{
statusText.text = antiAddictionSDK.AgeGroupOfCurrentUser()+"";
}
}
// 获取当前用户剩余可玩时长
// 如果为-1,表示当前用户为成年人账号,将不受防沉迷限制
// 如果为大于0的数,返回的为当前用户的剩余可玩时长,单位秒
public void LeftTimeOfCurrentUser()
{
statusText.text = "LeftTimeOfCurrentUser";
if (antiAddictionSDK != null)
{
statusText.text = antiAddictionSDK.LeftTimeOfCurrentUser()+"";
}
}
// 防沉迷流程结束,开始游戏
public void HandleZAASDKCompleted(object sender, EventArgs args)
{
statusText.text = "HandleZAASDKCompleted";
print("AntiAddiction---HandleZAASDKCompleted");
}
}
自定义防沉迷画面
当前SDK默认画面如下: 竖屏
横屏你可以通过加入图片资源来进行此界面的自定义:
增加图片资源并命名为 'ZAA_Launch_Bg' 来修改竖屏时的背景图片
增加图片资源并命名为 'ZAA_Launch_Bg_H' 来修改横屏时的背景图片
增加图片资源并命名为 'ZAA_Launch_StartButton' 来修改开始按钮






