Version: Unity 6.0 (6000.0)
言語 : 日本語
App Slicing
Encryption export regulations

Apple のプライバシーマニフェストポリシー要件

Apple は、App Store で提供される iOS、iPadOS、macOS、tvOS、visionOS プラットフォーム向けの新規のアプリケーションおよび更新される既存のアプリケーションに プライバシーマニフェストファイル を追加するためのプライバシーポリシーを導入します。

プライバシーマニフェストファイル (PrivacyInfo.xcprivacy) には、Unity アプリケーション、またはサードパーティ製の SDK、パッケージ、プラグインが収集する データの種類 と、特定の 理由が求められる API カテゴリを使用する理由が記載されます。

重要:理由が求められる API をユーザー自身またはサードパーティ製の SDK が使用することがプライバシーマニフェストで宣言されていない場合は、App Store によって拒否される可能性があります。macOS プラットフォーム向けのアプリケーションでは、理由が求められる API の使用を宣言する必要はありません。macOS アプリケーションについては、アプリケーションを App Store で公開する予定である場合にのみ、プライバシーマニフェスト要件が適用されます。詳細については、理由が求められる API に関するApple のドキュメントを参照してください。

Apple のプライバシーマニフェストポリシーに合わせて Unity のアプリケーションを準備する

ネイティブコード、C# コード、データ収集と追跡の方法を見直し、Apple のプライバシーポリシーの適用対象かどうかを理解する必要があります。以下のガイドラインに従って、製品にプライバシーマニフェストファイルを追加する必要があるかどうかを判断してください。

  • アプリケーションにサードパーティ製の SDK、パッケージ、プラグインが複数含まれる場合は、そのサードパーティ製のコンポーネント (該当する場合) は独自のプライバシーマニフェストファイルを個別に提供する必要があります。注意ただし、そのサードパーティ製のコンポーネントの所有者がプライバシーマニフェストファイルを追加していることを確認することは、開発者の責任です。サードパーティ製のプライバシーマニフェスト、およびそのデータ収集とトラッキングの実行については、Unity は責任を負いません。

  • Apple の 理由が求められる API カテゴリに該当する特定の API を呼び出す C# .Net Framework API の Unity フレームワークの実装がアプリケーションに含まれる場合は、製品の API 使用状況を評価する必要があります。データの収集・追跡方法を構成する要素の評価については、プライバシーマニフェストファイル に関する Apple のドキュメントを参照してください。注意これらの各 API の使用について評価し、それを使用する適切な理由を宣言することは、開発者の責任です。

アプリケーションの開発に Unity を使用している のか、Unity アプリケーションで使用する SDK、パッケージ、プラグインを提供する のかに応じて、プライバシーマニフェストファイルを提供するための要件が異なる可能性があります。

注意上記のガイドラインは開発者の参考のために提供されているものです。プロジェクトのプライバシーマニフェストを作成する前に、プライバシーマニフェストファイル に関する 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 の所有者が、Unity プロジェクトに .framework として含まれるサービスまたはパッケージを提供する場合は、以下の手順に従ってください。

  1. ネイティブコードまたはネイティブブライライブラリに以下のカテゴリの情報が含まれているかどうかを評価します。
  2. 収集されるデータの種類と、理由が求められる API を使用するための承認される理由を、フレームワークのプライバシー マニフェストファイルで宣言します (該当する場合)。

製品が Unity プロジェクト内で .framework として使用されていない場合は、.framework として提供することを検討してください。それができない場合は、以下の手順に従ってください。

  1. ネイティブコードまたはネイティブライブラリが以下の API を使用しているかどうかを評価します。
  2. API カテゴリの一方または両方を使用する場合は、Xcode で プライバシーマニフェストファイルを作成し、ソースコードに保存します。必ず、プラグイン Inspector ウィンドウで iOS プラットフォームを選択してください。
  3. 該当する場合は、理由が求められる API または C# .Net Framework API を使用することを、承認される理由とともにプライバシーマニフェストファイルで宣言します。
  4. ネイティブコードまたはネイティブライブラリが Apple によって分類された データの種類を収集するかどうかを確認し、該当する場合は、そのデータの種類をプライバシーマニフェストファイルで宣言します。

Unity の C# .Net Framework API

以下の表は、File timestamp API という、理由が求められる API のカテゴリを呼び出す C# .Net API のリストです。アプリケーション、SDK、パッケージ、またはプラグインコードがこのリストの API のいずれかを呼び出す場合は、理由が求められる API に関する Apple のドキュメントで指定されているガイドラインに従って、その使用理由をプライバシーマニフェストファイルで宣言します。

ノート: 以下のリストは、Unity バージョン 2021.3 LTS 以降でのみ検証されています。

File API Directory 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 Engine は以下のカテゴリに該当する理由が求められる API を呼び出し、一覧に含まれる使用理由とともに、そのカテゴリを宣言します。

カテゴリ 原因 説明
File timestamp API 0A2A.1 C# timestamp API によって使用されます。
File timestamp API C617.1 ファイルの確認に使用される
User defaults API CA92.1 PlayerPrefs API に使用されます。
System boot time API 35F9.1 さまざまなイベント間の時間を計算するために使用されます。
Disk space API E174.1 アセットバンドルのディスクスペースを確認するために使用されます。

ノート: Unity エディターのバージョン 2021.3.35f1、2022.3.18f1、2023.2.7f1 以降では、Unity エンジンがその理由をプライバシーマニフェストファイルに自動的に追加します。古いバージョンの Unity エディターを使用している場合は、必ず、その理由をプロジェクトのプライバシーマニフェストファイルで宣言する必要があります。

App Slicing
Encryption export regulations