名称 最后提交
AASDK-Unity 正在载入提交数据...
resources 正在载入提交数据...
Anti-Addiction-Unity.md 正在载入提交数据...
README.md 正在载入提交数据...
ZAnti-AddictionSDK.unitypackage 正在载入提交数据...

See the English Guide

入门指南

本指南适用于希望通过 Unity 接入中宣部防沉迷功能的发布商。

前提条件

  • 在 iOS 上部署
    • Xcode 10 或更高版本
    • iOS 10.0 或更高版本
    • CocoaPods

下载防沉迷 Unity 插件

借助防沉迷 Unity 插件,Unity 开发者无需编写 Java 或 Objective-C 代码,即可轻松地在 Android 和 iOS 应用上实现防沉迷的功能。
该插件提供了一个 C# 界面,用于 Unity 项目中 C# 脚本使用防沉迷功能。

项目内的ZAnti-AddictionSDK.unitypackage文件即为Unity插件。

导入防沉迷 Unity 插件

在 Unity 编辑器中打开项目,然后依次选择 Assets > Import Package > Custom Package,并找到你下载的 AntiAddictionSystem.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'来修改开始按钮