ターゲット設定

このガイドでは、ターゲット設定情報を広告リクエストに指定する方法を説明します。

広告のターゲット設定の動作を確認するには、Android API Demo アプリをダウンロードしてください。

API Demo をダウンロードする

前提条件

AdRequest

AdRequest オブジェクトは、広告リクエストと合わせて送信するターゲット設定情報を収集します。

テスト広告

開発段階では、間違ったインプレッション数が示されないよう、テスト広告を使用することをおすすめします。また、テスト広告はいつでも利用することができます。

テスト広告を設定するには、端末 ID のハッシュ値を AdRequest.Builder.addTestDevice() に渡します。

AdRequest request = new AdRequest.Builder()
    .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)        // All emulators
    .addTestDevice("AC98C820A50B4AD8A2106EDE96FB87D4")  // An example device ID
    .build();

テスト広告をリクエストする端末には、個別にテスト端末 ID を追加してください。端末 ID は Mobile Ads SDK によってシステムログに書き込まれるため、アプリを実行して logcat を確認することで、端末 ID を見つけることができます。

Mobile Ads SDK は、logcat に書き込むときにタグ「Ads」を使用します。 Android Studio の logcat ビューアでは、システムログを表示するとき、このタグをフィルタリングできます。 これにより、端末の ID を簡単に見つけることができます。

アプリをリリースするときは、このようなテスト端末 ID を設定するコードを事前に削除してください。

ロケーション

ユーザーが位置情報に関する権限をアプリに付与した場合、AdMob は自動的にこの位置データを SDK に渡します。SDK はこのデータを使用して、アプリのコードを変更することなく、広告のターゲット設定を改良します。 広告用のロケーション データを有効化するか、無効化するかは選択できます。

自動入力されたロケーション情報はメディエーション ネットワークに転送されず、オートロケーションは完全に無効化される場合があります。 そのため、SDK にはロケーションを手動で設定する機能が含まれています。 AdRequest で次のようにターゲット ロケーション情報を指定できます。

AdRequest request = new AdRequest.Builder()
    .setLocation(location)
    .build();

ここで、ユーザーの location適切なメソッドで取得します。

ただし、ユーザーのプライバシーを保護するため、既にアプリで地域情報を使用している場合にのみ、地域を指定するようにしてください。

性別

既にアプリでユーザーの性別を把握している場合は、ターゲット設定目的で広告リクエストに性別の情報を指定できます。メディエーションが有効になっている場合、この情報は、広告ネットワーク メディエーション アダプタにも転送されます。

AdRequest request = new AdRequest.Builder()
    .setGender(AdRequest.GENDER_FEMALE)
    .build();

誕生日

既にアプリでユーザーの誕生日を把握している場合は、ターゲット設定目的で広告リクエストに誕生日の情報を指定できます。メディエーションが有効になっている場合、この情報は、広告ネットワーク メディエーション アダプタにも転送されます。

AdRequest request = new AdRequest.Builder()
    .setBirthday(new GregorianCalendar(1985, 1, 1).getTime())
    .build();

Designed for Families の設定

アプリを Google Play の Designed for Families プログラムにオプトイン済みで、広告をアプリに表示する場合は、広告が Designed for Families プログラムの要件と広告ポリシーに適合していることを確認します。

extras で is_designed_for_families パラメータを true に設定することによって、子供や家族向けであるというタグを広告リクエストに設定できます。

Bundle extras = new Bundle();
extras.putBoolean("is_designed_for_families", true);

AdRequest request = new AdRequest.Builder()
        .addNetworkExtrasBundle(AdMobAdapter.class, extras)
        .build();

この設定の実装に関する詳細は、ヘルプセンターで Designed for Families の記事をご覧ください。

この設定は、児童オンライン プライバシー保護法(COPPA)の「tagForChildDirectedTreatment」という設定とは別のものです。COPPA 関連のコンプライアンスについては、「児童向けの設定」をご覧ください。

児童向けの設定

児童オンライン プライバシー保護法(COPPA)に基づき、「tagForChildDirectedTreatment」という設定が用意されています。

アプリ デベロッパーは、広告リクエストを行う際に、コンテンツを児童向けとして扱うかどうかを Google に指定できます。コンテンツを児童向けとして扱うように Google に指定した場合、その広告リクエストでは IBA とリマーケティング広告が無効になります。この設定は、AdRequest.Builder.tagForChildDirectedTreatment(boolean) により、Google Play 開発者サービス SDK のすべてのバージョンで使用できます。

  • コンテンツが COPPA における児童向けとして扱われるように指定するには、tagForChildDirectedTreatmenttrue に設定します。
  • コンテンツが COPPA における児童向けとして扱われないように指定するには、tagForChildDirectedTreatmentfalse に設定します。
  • COPPA に関してコンテンツをどのように扱うかを広告リクエストで指定しない場合は、tagForChildDirectedTreatment を設定しないでください。

次の例は、コンテンツが COPPA における児童向けとして扱われる必要があることを示しています。

AdRequest request = new AdRequest.Builder()
    .tagForChildDirectedTreatment(true)
    .build();

このタグを設定することによって、この通知が正確であり、アプリのオーナーとしての代理権限があることが保証されます。 この設定を不正使用した場合、Google アカウントが削除されることがあります。

ターゲット設定された広告を読み込む

リクエスト ターゲット設定情報を設定したら、AdViewloadAd() を、AdRequest インスタンスを指定して呼び出します。

AdRequest request = new AdRequest.Builder()
    .setLocation(location)
    .setGender(AdRequest.GENDER_FEMALE)
    .setBirthday(new GregorianCalendar(1985, 1, 1).getTime())
    .tagForChildDirectedTreatment(true)
    .build();
adView.loadAd(request);

Android API Demo アプリへの広告ターゲット設定の実装については、AdMob 広告ターゲット設定のサンプルをご覧ください。

フィードバックを送信...