Fireタブレットにおける広告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を関連付けたりしないでください。

詳細については、開発者サービス契約を参照してください。

広告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以外のデバイスや古いバージョンのFire OSを実行しているFireデバイスなど)、SettingNotFoundExceptionがスローされます。この例外は必要に応じて処理できます。

ウェブアプリで広告IDと広告トラッキング設定を取得する方法

ウェブアプリでWeb App APIスクリプトをインクルードすると(Amazon API Javascriptライブラリをインクルードの説明を参照)、AmazonAdvertisingオブジェクトは AmazonAdvertising.getAdvertisingIdAmazonAdvertising.getLimitAdTrackingPreferenceという2つの関数をエクスポーズします。どちらの関数にも、成功のコールバックとエラーのコールバックという2つのパラメーターがあります。

関数が取得した値(AmazonAdvertising.getAdvertisingId関数では広告ID、AmazonAdvertising.getLimitAdTrackingPreference関数では広告トラッキング設定)が成功のコールバックに渡されます。詳細については、広告IDと広告トラッキング設定の取得を参照してください。