Version: Unity 6.0 (6000.0)
语言 : 中文
应用程序切片
Encryption export regulations

Apple 的隐私清单政策要求

Apple 引入了一项隐私政策,以在 App Store 中面向 iOS、iPadOS、macOS、tvOS 和 visionOS 平台的全新和更新的应用程序中包含隐私清单文件

隐私清单文件 (PrivacyInfo.xcprivacy) 列出了 Unity 应用程序或任何第三方 SDK、包和插件收集的数据类型,以及使用某些必需原因 API 类别的原因。

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

准备好您的 Unity 应用程序以符合 Apple 的隐私清单政策

您必须查看您的原生代码、C# 代码以及数据收集和跟踪做法,以了解 Apple 的隐私清单政策是否适用于您。请遵循以下准则决定是否需要在您的产品中包含隐私清单文件:

  • 如果您的应用程序包括多个第三方 SDK、包和插件,则这些第三方组件(如果适用)必须单独提供自己的隐私清单文件。注意:但是,您有责任确保这些第三方组件的所有者包含隐私清单文件。Unity 不对任何第三方隐私清单及其数据收集和跟踪做法负责。

  • 如果您的应用程序包含调用 Apple 的必需原因 API 类别中列出的某些 API 的 C# .Net framework API 的 Unity 框架实现,则必须评估产品的 API 使用情况。如需评估数据收集和跟踪做法的组成部分,请参阅关于隐私清单文件的 Apple 文档。注意:您有责任评估每个 API 的使用情况并声明使用这些 API 的适用原因。

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

注意:为方便起见,提供了上述准则。在为项目创建隐私清单之前,请务必查看关于隐私清单文件的 Apple 文档。

Unity 应用程序的隐私清单

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

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

  3. 在隐私清单文件中,声明使用必需原因 API 或 C# .Net framework 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 平台。
  3. 在隐私清单文件中,声明使用必需原因 API 或 C# .Net framework API(如果适用)以及已获批准的原因。
  4. 验证原生代码或原生库是否会收集 Apple 分类的任何类型的数据,并在隐私清单文件中声明这些数据类型(如果适用)。

在 Unity 中使用 C# .Net framework API

下表列出了调用名为文件时间戳 API 的必需原因 API 类别的 C# .Net API。如果您的应用程序、SDK、包或插件代码调用此列表中的任何 API,请遵循关于必需原因 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; directoryInfo.LastAccessTimeUtc;
fileInfo.LastWriteTimeUtc; directoryInfo.LastWriteTimeUtc;
File.GetCreationTime(filePath); Directory.GetCreationTime(filePath);
File.GetLastAccessTime(filePath); Directory.GetLastAccessTime(filePath);
File.GetLastWriteTime(filePath); Directory.GetLastWriteTime(filePath);
File.GetCreationTimeUtc(filePath); Directory.GetCreationTimeUtc(filePath);
File.GetLastAccessTimeUtc(filePath); Directory.GetLastAccessTimeUtc(filePath);
File.GetLastWriteTimeUtc(filePath); Directory.GetLastWriteTimeUtc(filePath);

Unity 引擎隐私清单

Unity 引擎调用以下类别中的必需原因 API,并声明这些类别以及使用它们的所列原因。

Category 原因 描述
文件时间戳 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 编辑器,必须始终在项目的隐私清单文件中声明这些原因。

应用程序切片
Encryption export regulations