包含此页的版本:
不含此页的版本:
Apple 要求 App Store 上针对 iOS、iPadOS、macOS、Apple tvOS 和 visionOS 平台的新应用程序和更新应用程序包含隐私清单文件。
隐私清单文件 (PrivacyInfo.xcprivacy) 列出了您的 Unity 应用程序或任何第三方 SDK、包和插件在 Unity 外部创建的一组代码,用于在 Unity 中创建功能。可以在 Unity 中使用两种插件:托管插件(使用 Visual Studio 等工具创建的托管 .NET 程序集)和本机插件(特定于平台的本机代码库)。更多信息
请参阅术语表收集,以及使用某些所需原因 API 类别的原因。
重要:
您必须查看您的本机代码、C# 代码以及数据收集和跟踪实践,以了解 Apple 的隐私清单策略是否适用于您。请按照以下准则决定是否需要在产品中包含隐私清单文件:
如果应用程序包含多个第三方 SDK、包和插件,则这些第三方组件(如果适用)必须单独预配自己的隐私清单文件。
注意:但是,您有责任确保这些第三方组件的所有者包含隐私清单文件。Unity 不对任何第三方隐私清单及其数据收集和跟踪做法负责。
如果应用程序包含 C# .Net 框架 API 的 Unity 框架实现,这些 API 调用 Apple 所需原因 API 类别中列出的某些 API,则必须评估产品的 API 使用情况。要评估什么是数据收集和跟踪实践的一部分,请参阅 Apple 关于隐私清单文件的文档。
注意:您有责任评估您对每个 API 的使用情况,并声明使用它们的适用原因。
根据是使用 Unity 开发应用程序,还是提供 SDK、包和插件以与 Unity 应用程序一起使用,提供隐私清单文件的要求可能会有所不同。
注意:这些指南是为了您的方便而提供的。在为项目创建隐私清单之前,请务必查看 Apple 关于隐私清单文件的文档。
如果要使用 Unity 开发应用程序,请考虑以下步骤:
如果满足步骤1中的一个或两个条件,请在Xcode中创建一个隐私清单文件,并将其保存在项目的Assets/Plugins文件夹中。
在隐私清单文件中,声明使用所需原因 API 或 C# .Net 框架 API(如适用)的批准原因。
【重要事项】如果你未声明使用 API 的原因,你的应用程序可能会被 App Store 拒绝。面向 macOS 平台的应用程序不需要声明使用所需的原因 API。
验证您的本机应用程序代码是否收集了 Apple 分类的任何类型的数据,并在隐私清单文件中声明这些数据类型(如适用)。应用程序中使用的任何第三方 SDK、包和插件都必须包含其自己的单独清单文件,以声明数据收集和使用任何具有批准原因的必需原因 API。
笔记:
你有责任检查 Unity 框架中隐私清单的准确性,以及 Unity 项目中包含的任何第三方组件是否需要在隐私清单中进行任何声明。建议在这些第三方组件中搜索对隐私清单声明的任何引用。
如果你是插件、包或 SDK 所有者,并且提供要作为 .framework 包含在 Unity 项目中的服务或包,请执行以下步骤:
如果您的产品未在 Unity 项目中用作 .framework,请考虑将其作为 .framework 交付。如果您无法执行此作,请按照以下步骤作:
下表提供了调用名为“文件时间戳 API”的所需原因 API 类别的 C# .Net API 的列表。如果您的应用程序、SDK、包或插件代码调用此列表中的任何 API,请按照 Apple 关于所需原因 API 的文档中指定的指南,在隐私清单文件中声明使用它们的原因。
注意:以下列表仅针对 Unity 版本 2021.3 LTS 及更高版本进行了验证。
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 编辑器版本,则必须始终在项目的隐私清单文件中声明这些原因。