概要:WWDC23 で、Apple は新しいプライバシーマニフェストを導入しました。プライバシーマニフェストを使用すると、アプリ開発者はアプリのプライバシー慣行についてより正確な説明を提供できるようになります。AppsFlyer は、AppsFlyer SDK 用のプライバシーマニフェストを作成しました。詳細は以下で説明します。
背景
プライバシーマニフェストを使用すると、アプリ開発者は、アプリを通じて個別に収集し、アプリで使用されるサードパーティのSDKなどのサードパーティの依存関係を使用して収集するデータのカテゴリの記録を作成できます。この情報は、アプリ開発者がユーザーに提供するNutrition Labelsなどを通じて、アプリのプライバシー慣行を正確に表現するのに役立ちます。
多くの場合、アプリ開発者は、サードパーティのSDKがどのようなデータを収集しているか、または特定のSDKが何にデータを使用しているかを認識していません。プライバシーマニフェストを使用すると、サードパーティのSDKがこの情報をアプリ開発者に簡単に渡し、正確な情報を作成できるようになります。
Privacy Nutrition Lablesとは何ですか?
Nutrition Labels は、アプリのプライバシー慣行に関する情報を読みやすく理解しやすい形式で提供します。エンドユーザーは、アプリがどのようなデータを収集し、どのような目的で収集しているかについて、より透明性を高めることができます。Nutrition Labels の詳細については、こちらをご覧ください。
AppsFlyer プライバシー マニフェストには何が含まれていますか?
重要!
AppsFlyer SDK に加えて、独自のデータ収集、必須理由 API、アプリまたは他の SDK での使用状況を決定し、その情報を Nutrition Labels に報告する必要があります。
AppsFlyer SDK 6.14.0 には、AppsFlyer プライバシーマニフェストが含まれています。これには以下が含まれます:
データ使用状況
Apple は、アプリおよび SDK 開発者に、アプリまたはサードパーティの SDK が収集するデータのカテゴリと理由を記録することを義務付けています。
アプリ開発者は、Xcode を使用して、収集されたデータに関する情報をまとめたプライバシーレポートを作成できます。
以下は、プライバシーマニフェストに含まれる、AppsFlyer SDK によって収集されるデータタイプです。
注意
次の表は、AppsFlyerソフトウェアのデフォルト実装を前提としています。アプリ開発者は、AppsFlyer SDK の特定の構成と使用状況に応じて、独自のマニフェストを適切に調整する責任があります。
| 名称 | NSPrivacyCollectedDataType | NSPrivacyCollectedDataTypeLinked | NSPrivacyCollectedDataTypeTracking | NSPrivacyCollectedDataTypePurposes |
|---|---|---|---|---|
| デバイス ID (IDFA、IDFV) | NSPrivacyCollectedDataTypeDeviceID | はい | はい | NSPrivacyCollectedDataTypePurposeThirdPartyAdvertising |
| 製品のインタラクション(発売) | NSPrivacyCollectedDataTypeProductInteraction | いいえ | いいえ | NSPrivacyCollectedDataTypePurposeAnalytics |
必須理由 API
Apple は、使用の根拠を示す必要がある API のリストを提供しました。これらの API を使用するアプリと SDK では、プライバシーマニフェストの必須理由 API セクションに詳細を記載する必要があります。これらの API は、Apple のトピックのリストに従って、機能と提供される情報に基づいてカテゴリに分類されます。これらは、AppsFlyer SDK バージョン 6.14.0 プライバシーマニフェストに含まれる API です。
Required Reason API の使用方法を明確にするために、アプリ開発者は API カテゴリを宣言し、API を使用する理由を指定する必要があります。以下は、AppsFlyer API とその使用方法です。
SDK バージョン 6.14.0 以上
| API カテゴリ | API カテゴリタイプ | 理由 | 備考 |
|---|---|---|---|
| File Timestamp APIs | NSPrivacyAccessedAPICategoryFileTimestamp | C617.1 | SDK では、 NSFileCreationDate API とNSFileModificationDate API を使用して、アプリのインストール日とアプリの更新日を決定します。 |
| User defaults APIs | NSPrivacyAccessedAPICategoryUserDefaults | CA92.1 | SDKには、その操作に必要なデータが格納されます。例:アプリが起動された回数のメンテナンスなど |
SDK バージョン 6.13.x 以前
| API カテゴリ | API カテゴリタイプ | 理由 | 備考 |
|---|---|---|---|
| File Timestamp APIs | NSPrivacyAccessedAPICategoryFileTimestamp | C617.1 | SDK では、 NSFileCreationDate API とNSFileModificationDate API を使用して、アプリのインストール日とアプリの更新日を決定します。 |
| System boot time APIs | NSPrivacyAccessedAPICategorySystemBootTime | 35F9.1 | SDK のパフォーマンス(リクエストの実行にかかった時間など)を測定 |
| User defaults APIs | NSPrivacyAccessedAPICategoryUserDefaults | CA92.1 | SDK には、その操作に必要なデータが格納されます。例:アプリが起動された回数のメンテナンスなど |
便宜上、上記の必須理由を含む以下のコードスニペットをコピーして、PrivacyInfo.xcprivacy ファイル内に貼り付けることができます。
<key>NSPrivacyAccessedAPITypes</key>
<array>
<dict>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>CA92.1</string>
</array>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
</dict>
<dict>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>C617.1</string>
</array>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
</dict>
<dict>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>35F9.1</string>
</array>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategorySystemBootTime</string>
</dict>
</array>
トラッキングドメイン
アプリまたはサードパーティの SDK で使用されるトラッキングドメインはすべて、プライバシーマニフェストに記録する必要があります。ユーザーが App Tracking Transparency (ATT) フレームワークを通じて許可を付与しない (オプトアウトする) 場合、iOS オペレーティングシステムはそのドメインへのすべての送信トラフィックをブロックします。AppsFlyer SDK は、サーバーリクエストの前にユーザーの ATT ステータスを確認し、ユーザーがオプトインしたかどうかに基づいてリクエストを実行します。
よくある質問
AppsFlyer にはプライバシーマニフェストをサポートする SDK がありますか?
はい、バージョン 6.14.0 以降、SDK はプライバシーマニフェストを完全にサポートしています。
自分でデータ収集内容をレポートする必要がありますか?
はい、AppsFlyer またはその他の SDK に加えて、独自のデータ収集と使用方法を決定し、デフォルトの AppsFlyer SDK 構成に加えられた構成変更 (アプリ内イベントの計測など) を含め、その情報を Nutrition Labels に報告する必要があります。