広告ID

Fireタブレットで広告IDを取得する

広告IDは、ユーザーによるリセットが可能な一意の匿名識別子で、広告配信とユーザー分析に使用します。ユーザーは、広告IDをリセットしたり、関心に基づいて広告を配信するためのトラッキングをオプトアウトしたりすることができます。現時点では、広告IDはFire OS 5.1以降を実行しているタブレット端末と、Fire OS 5.2.1.1以降を実行しているTV端末で利用できます。

Fireタブレットでは、[設定] > [アプリとゲーム] > [広告ID] の順に移動して、広告IDを管理できます。

広告IDを使用する状況

広告IDは、アプリで次のことを実行する場合に必要です (端末で対応している場合)。

  • 広告を表示する
  • ユーザー分析のためにデータを収集する
  • 広告配信を目的とする、または関心に基づく広告表示でユーザーをターゲットにすることを目的として、ユーザープロフィールを作成するための情報を収集する

広告IDを利用できるときは、他のIDに優先して広告IDを使用してください。アプリでサードパーティの広告サービスを使用する場合は、そのサービスがユーザーの選択に関する要件を満たしているかを確認してください。

開発者に期待されること

広告IDを使用する際は、次の原則に従ってください。

  • 広告IDは広告配信とユーザー分析のみを目的として使用すること。
  • 関心に基づく広告がユーザーによって解除された場合も引き続き広告IDの使用は可能であるが、ユーザーの選択を尊重すること。そうしたユーザーの行動について、広告配信または関心に基づく広告表示を目的として情報を収集し、ユーザープロフィールを作成することはしないでください。コード内に、広告IDを取得する呼び出しの前に、ユーザーの解除の選択を確認する呼び出しを記述してください。許可されるアクティビティは、コンテキスト広告、フリークエンシーキャップ、コンバージョン追跡、レポート作成、セキュリティや不正の検知です。
  • ユーザーが明示的に同意した場合を除き、端末IDや個人を特定できる情報と広告IDを関連付けないこと。
  • ユーザーが広告IDをリセットした場合、ユーザーが明示的に同意した場合を除き、以前のデータを新しい広告IDに組み込んだり、新しいIDと古いIDを関連付けたりしないでください。

詳細については、App Distribution and 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;

    // 広告を取得する
    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になります (子プロファイルでは、 advertisingID00000000-0000-0000-0000-00000000000になります)。
  • システムが limit_ad_tracking の値を返さない場合 (Fire OS以外の端末や旧バージョンのFireOSを実行しているFire端末など)、 SettingNotFoundException がスローされる。この例外は必要に応じて処理できます。