Unity3D:Unity Analytics 和 PIPL

推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生

Unity Analytics 和 PIPL

中国全国人民代表大会通过了《个人信息保护法》(PIPL),以保护中国公民的数据隐私。它从 1 年 2021 月 <> 日开始生效,并要求中国的玩家同意他们的数据被处理,并选择加入同意他们的数据传输到中国境外。

为了遵守此法规,Unity 必须阻止从中国玩家那里收集数据,直到他们同意这两种选择加入。这意味着从 1 年 2021 月 <> 日起,来自中国玩家的数据将停止处理。依赖数据的分析报告和玩家参与系统将不适用于中国的玩家。

分析数据隐私插件包含相关功能,用于传达玩家对两种选择加入的同意。作为开发人员,您需要将数据隐私插件添加到游戏中,并参考 Unity 隐私政策,以便使用同意流程。一旦同意流程到位,选择加入的中国玩家的数据收集将恢复。

Unity 分析数据隐私插件

Unity 分析数据隐私插件可让您的玩家控制 SDK 的数据收集。此插件是 Unity 分析库包的一部分。可以使用 Unity 编辑器(>包管理器窗口)中的包管理器仔细检查项目中是否启用了

该插件不支持以下平台:

  • Linux目录
  • Windows Phone
  • 提岑
  • 苹果电视
  • 黑莓

注意:对于 2018.3 之前的 Unity 版本,您必须使用 Unity 资源商店中的 Unity 分析数据隐私资源包。资源商店版本可与 Unity 4.7、5.1+、2017.1+、2018.1 和 2018.2 一起使用。

向玩家呈现同意流

数据隐私插件包括一个 Unity UI 按钮预制件,您可以将其放置在用户界面的合适位置。当玩家单击此按钮时,它会在 Web 浏览器中打开玩家数据隐私页面,玩家可以在其中选择加入以下同意:

1. Consent to collect data for analytics.
2. Consent to transfer data outside of mainland China.

开发人员还可以提供自己的用户界面,并使用数据隐私 API 打开玩家数据隐私页面。

重要提示:如果玩家启用了浏览器弹出窗口阻止程序,则其浏览器可能会阻止打开数据隐私页面。一些浏览器会注意到某个页面已被阻止,但其他浏览器根本不提供任何通知。请考虑在用户界面中添加一条消息,警告玩家弹出窗口阻止程序可能会阻止页面打开。

实现 Unity 解决方案

要实现数据隐私插件提供的 UI 按钮,请执行以下操作:

  1. 如果场景中还没有画布游戏对象,则需要添加一个。当您添加画布时,Unity 会自动添加事件系统。
  2. DataPrivacyButton 预制件从“项目”窗口(在文件夹中)拖动到场景中的画布游戏对象。Packages/Analytics Library/DataPrivacy
  3. 根据需要调整按钮的位置、图形和文本。
  4. 该按钮已连接到数据隐私API,因此当位于中国的玩家单击该按钮时,该玩家的个人数据管理页面将在Web浏览器中打开。

注意:文件夹下的按钮预制件版本是只读的。您可以对 Scene 层次结构中的按钮实例进行更改,但不能将这些更改保存回原始预制件。Packages

实施自定义解决方案

如果您使用自定义界面按钮,则可以请求用户的数据选择加入页面的网址,然后在浏览器或 Web 视图中打开该网址:

  1. 创建一个 UI 组件,通知玩家他们能够选择加入数据收集和传输。请注意,数据隐私插件在文件夹中包含一个图标。Unity 鼓励您在数据隐私提示上使用此图标,为在 Unity 游戏中遇到数据隐私控制的玩家提供一致的视觉提示。Packages/Analytics Library/DataPrivacy
  2. 当玩家选择加入或退出时,调用该方法。这将采用在网络请求完成时调用的对象。您可以选择传入第二个函数来处理网络请求失败的情况。DataPrivacy.FetchPrivacyUrl()Action<string>Action<string>
  3. 在请求的处理程序中,使用该方法在浏览器中打开 URL。FetchPrivacyUrl()Application.OpenURL()

例如,以下脚本将打开 Player Data Privacy 页面来响应对游戏对象的单击:

using System;
using UnityEngine;
using UnityEngine.Analytics;

public class OptOutHandler : MonoBehaviour {

    static void OnFailure(string reason)
    {
        Debug.LogWarning(String.Format("Failed to get data privacy page URL: {0}", reason));
    }

    void OnURLReceived(string url)
    {
        Application.OpenURL(url);
    }

    public void OpenDataURL()
    {
        DataPrivacy.FetchPrivacyUrl(OnURLReceived, OnFailure);
    }


    void OnMouseOver(){
        if(Input.GetMouseButtonUp(0)){
            OpenDataURL();
        }
    }
}

3D建模学习工作室整理翻译,转载请注明出处!

上一篇:Unity3D:Unity Analytics DataPrivacy API (mvrlink.com)

下一篇:Unity3D:查看使用情况和管理成本 (mvrlink.com)

NSDT场景编辑器 | NSDT 数字孪生 | GLTF在线编辑器 | 3D模型在线转换 | UnrealSynth虚幻合成数据生成器 | 3D模型自动纹理化工具
2023 power by nsdt©鄂ICP备2023000829号