Version: 6000.3
语言: 中文
应用切片
加密出口法规

Apple 的隐私舱单政策要求

Apple 要求 App Store 上针对 iOS、iPadOS、macOS、Apple tvOS 和 visionOS 平台的新应用程序和更新应用程序包含隐私清单文件

隐私清单文件 (PrivacyInfo.xcprivacy列出了您的 Unity 应用程序或任何第三方 SDK、包和插件在 Unity 外部创建的一组代码,用于在 Unity 中创建功能。可以在 Unity 中使用两种插件:托管插件(使用 Visual Studio 等工具创建的托管 .NET 程序集)和本机插件(特定于平台的本机代码库)。更多信息
请参阅术语表
收集,以及使用某些所需原因 API 类别的原因。

重要:

  • 如果隐私清单中未声明您或第三方 SDK 使用所需的原因 API,则您的应用程序可能会被 App Store 拒绝。
  • 面向 macOS 平台的应用程序不需要声明使用所需的原因 API。对于 macOS 应用程序,隐私清单要求仅适用于您计划在 App Store 上发布应用程序的情况。有关更多信息,请访问 Apple 关于描述必需原因 API 的使用的文档。

为 Apple 的隐私清单政策准备您的 Unity 应用程序

您必须查看您的本机代码、C# 代码以及数据收集和跟踪实践,以了解 Apple 的隐私清单策略是否适用于您。请按照以下准则决定是否需要在产品中包含隐私清单文件:

  • 如果应用程序包含多个第三方 SDK、包和插件,则这些第三方组件(如果适用)必须单独预配自己的隐私清单文件。

    注意:但是,您有责任确保这些第三方组件的所有者包含隐私清单文件。Unity 不对任何第三方隐私清单及其数据收集和跟踪做法负责。

  • 如果应用程序包含 C# .Net 框架 API 的 Unity 框架实现,这些 API 调用 Apple 所需原因 API 类别中列出的某些 API,则必须评估产品的 API 使用情况。要评估什么是数据收集和跟踪实践的一部分,请参阅 Apple 关于隐私清单文件的文档。

    注意:您有责任评估您对每个 API 的使用情况,并声明使用它们的适用原因。

根据是使用 Unity 开发应用程序,还是提供 SDK、包和插件以与 Unity 应用程序一起使用,提供隐私清单文件的要求可能会有所不同。

注意:这些指南是为了您的方便而提供的。在为项目创建隐私清单之前,请务必查看 Apple 关于隐私清单文件的文档。

Unity 应用程序的隐私清单

如果要使用 Unity 开发应用程序,请考虑以下步骤:

  1. 评估本机应用程序代码是否使用以下任何 API:
  2. 如果满足步骤1中的一个或两个条件,请在Xcode中创建一个隐私清单文件,并将其保存在项目的Assets/Plugins文件夹中。

  3. 在隐私清单文件中,声明使用所需原因 API 或 C# .Net 框架 API(如适用)的批准原因。

    【重要事项】如果你未声明使用 API 的原因,你的应用程序可能会被 App Store 拒绝。面向 macOS 平台的应用程序不需要声明使用所需的原因 API。

  4. 验证您的本机应用程序代码是否收集了 Apple 分类的任何类型的数据,并在隐私清单文件中声明这些数据类型(如适用)。应用程序中使用的任何第三方 SDK、包和插件都必须包含其自己的单独清单文件,以声明数据收集和使用任何具有批准原因的必需原因 API

笔记:

  • 你有责任检查 Unity 框架中隐私清单的准确性,以及 Unity 项目中包含的任何第三方组件是否需要在隐私清单中进行任何声明。建议在这些第三方组件中搜索对隐私清单声明的任何引用。

  • 如果要使用 Unity 作为库开发应用程序,请检查本机应用程序代码是否在 Unity 项目外部收集以下任何信息:

第三方 SDK、包和插件的隐私清单

如果你是插件、包或 SDK 所有者,并且提供要作为 .framework 包含在 Unity 项目中的服务或包,请执行以下步骤:

  1. 评估本机代码或本机库是否包含以下任何类别的信息:
  2. 在框架的隐私清单文件(如果适用)中声明要收集的数据类型以及使用所需原因 API 的批准原因。

如果您的产品未在 Unity 项目中用作 .framework,请考虑将其作为 .framework 交付。如果您无法执行此作,请按照以下步骤作:

  1. 评估本机代码或本机库是否使用以下 API:
  2. 如果使用了一个或两个 API 类别,请在 Xcode 中创建一个隐私清单文件并将其保存在源代码中。确保在插件中选择 iOS 平台检查器一个 Unity 窗口,显示有关当前选定游戏对象、资产或项目设置的信息,允许您检查和编辑值。更多信息
    请参阅术语表
    窗。
  3. 在隐私清单文件中,声明使用所需的原因 API 或 C# .Net 框架 API(如适用)以及已批准的原因。
  4. 验证您的本机代码或本机库是否收集了 Apple 分类的任何类型的数据,并在隐私清单文件中声明这些数据类型(如适用)。

Unity 中的 C# .Net 框架 API

下表提供了调用名为“文件时间戳 API”的所需原因 API 类别的 C# .Net API 的列表。如果您的应用程序、SDK、包或插件代码调用此列表中的任何 API,请按照 Apple 关于所需原因 API 的文档中指定的指南,在隐私清单文件中声明使用它们的原因。

注意:以下列表仅针对 Unity 版本 2021.3 LTS 及更高版本进行了验证。

文件 API 目录 API
fileInfo.CreationTime; directoryInfo.CreationTime;
fileInfo.LastAccessTime; directoryInfo.LastAccessTime;
fileInfo.LastWriteTime; directoryInfo.LastWriteTime;
fileInfo.CreationTimeUtc; directoryInfo.CreationTimeUtc;
fileInfo.LastAccessTimeUtc; 目录信息.LastAccessTimeUtc;
fileInfo.LastWriteTimeUtc; directoryInfo.LastWriteTimeUtc;
File.GetCreationTime(文件路径); Directory.GetCreationTime(文件路径);
File.GetLastAccessTime(文件路径); Directory.GetLastAccessTime(文件路径);
File.GetLastWriteTime(文件路径); Directory.GetLastWriteTime(文件路径);
File.GetCreationTimeUtc(文件路径); Directory.GetCreationTimeUtc(文件路径);
File.GetLastAccessTimeUtc(文件路径); Directory.GetLastAccessTimeUtc(文件路径);
File.GetLastWriteTimeUtc(文件路径); Directory.GetLastWriteTimeUtc(文件路径);

Unity Engine 隐私清单

Unity 引擎从以下类别中调用所需的原因 API,并声明这些类别以及列出的使用原因。有关类别的更多信息,请参阅 Apple 的文档

类别 原因 描述
文件时间戳 API 0A2A.1 由 C# 时间戳 API 使用
文件时间戳 API C617.1 用于检查文件
用户默认 API CA92.1 用于 PlayerPrefs API
系统启动时 API 35F9.1 用于计算各种事件之间的时间
磁盘空间 API E174.1 用于检查 AssetBundle 的磁盘空间

注意:从 Unity 编辑器版本 2021.3.35f1、2022.3.18f1 和 2023.2.7f1 开始,Unity 引擎会自动在隐私清单文件中包含这些原因。如果您使用的是较旧的 Unity 编辑器版本,则必须始终在项目的隐私清单文件中声明这些原因。

应用切片
加密出口法规