広告IDに関するポリシー
広告IDは、ユーザーによるリセットが可能な一意の識別子で、ユーザーのプライバシー保護に役立ちます。関心に基づく広告表示や分析を目的としてユーザーの行動に関する情報を収集する場合は、広告IDを使用する必要があります。ほかの識別子やトラッキング方法を使用することはできません。ユーザーは、広告IDをリセットしたり、関心に基づく広告をオプトアウトしたりすることができます。
現時点で広告IDとオプトアウトを利用できるデバイスは、Fire OS 5.1以降を搭載しているタブレットと、Fire OS 5.2.1.1以降を搭載しているTVです。
Amazon Fire TVでは、[設定] > [環境設定] > [プライバシー設定] > [広告ID] の順に選択して、広告IDを管理できます。Fireタブレットでは、[設定] > [セキュリティとプライバシー] > [広告ID] の順にタップして、広告IDを管理できます。
広告IDを使用する状況
アプリで以下のことを実行する場合には、広告IDを使用し(デバイスでサポートされている場合)、オプトアウトに関するユーザーの選択をAPIで確認する必要があります。
- 関心に基づく広告を表示する。
- ユーザー分析のためにデータを収集する。
- 広告の配信を目的として、あるいは関心に基づく広告を配信するユーザーのターゲティングを目的として、ユーザープロファイルを作成するためのデータを収集する。
コンテキスト広告は、広告IDに依存せず、関心に基づく広告のオプトアウトでは制御されません。
広告IDを使用できるときは、ほかのIDに優先して広告IDを使用する必要があります。広告配信を目的としてユーザープロファイルを作成したり、ユーザーの関心に基づく広告を表示したりするために、ほかの一意の識別子(Android ID、MACアドレス、IMEI、IPアドレスなど)や「フィンガープリント」などの分析手法を使用しないでください。
広告IDをデバイスで使用できない場合は、アプリで関心に基づく広告を表示するために、別の一意の識別子を使用できます。ただし、開発者のプライバシーポリシー、Amazon Developer Services Agreement、Amazonのプライバシーとセキュリティに関するポリシーに準拠する必要があります。
アプリでサードパーティの広告サービスを使用する場合は、そのサービスがこの広告IDポリシーに従っているかを確認してください。
広告IDの使用方法
広告IDを使用する際は、次の要件に従ってください。
- 関心に基づく広告配信と分析のみを目的として広告IDを使用してください。
- コード内に、広告IDを取得する呼び出しの前に、ユーザーのオプトアウトの選択を確認する呼び出しを記述してください。関心に基づく広告がユーザーによって解除された場合も引き続き広告IDの使用は可能ですが、ユーザーの選択を尊重しなければなりません。広告配信または関心に基づく広告表示の目的で、ユーザーの行動に関する情報を収集してユーザープロファイルを作成することは避けてください。許可されるアクティビティは、コンテキスト広告、フリークエンシーキャップ、コンバージョン追跡、レポート作成、セキュリティ、不正検出です。
- ユーザーが明示的に同意した場合を除き、永続的なデバイスIDや個人を特定できる情報(PII)と広告IDを関連付けないでください。
- ユーザーが広告IDをリセットした場合は、ユーザーが明示的に同意しない限り、以前のデータを新しい広告IDに組み込んだり、新しいIDと古いIDを関連付けたりしないでください。
詳細については、Amazon Developer Services Agreementを参照してください。
広告IDに関するユーザーの選択の確認と対応
広告IDに関するユーザーの選択は、AndroidのSettings.SecureクラスのgetIntメソッドとgetStringメソッドで確認できます。以下のJavaの例は、ユーザーの設定を確認し、広告IDを取得する(取得可能な場合)ロジックを示しています。
import android.content.ContentResolver;
import android.provider.Settings.Secure;
import android.provider.Settings.SettingNotFoundException;
String advertisingID = "";
boolean limitAdTracking = false;
try {
ContentResolver cr = getContentResolver();
// ユーザーのトラッキング設定を取得する
limitAdTracking = (Secure.getInt(cr, "limit_ad_tracking") == 0) ? false : true;
// 広告IDを取得する
advertisingID = Secure.getString(cr, "advertising_id");
} catch (SettingNotFoundException ex) {
// サポートされていない
}
このコードでは、最初にユーザーの広告トラッキング設定を取得します。次に、広告トラッキングの値に応じて次の動作が行われます。
- ユーザーが広告トラッキングを許可している場合、
limit_ad_tracking
の値はfalse
になります。 - ユーザーが広告トラッキングを無効にしている場合、
limit_ad_tracking
の値はtrue
になります。 - 広告IDは
advertisingID
変数に格納されます。サンプルの広告IDの値は、df07c7dc-cea7-4a89-b328-810ff5acb15d
のようになる可能性があります(子プロファイルの場合、advertisingID
は00000000-0000-0000-0000-00000000000
になります)。 limit_ad_tracking
の値が返されない場合(Fire OS以外のデバイスや古いバージョンのFire OSを実行しているFireデバイスなど)、SettingNotFoundException
がスローされます。この例外は必要に応じて処理できます。
Last updated: 2023年8月30日