Targeting

このガイドでは、Google Mobile Ads SDK にターゲット設定情報を設定する方法を説明します。

実際の動作を確認するには、Android API デモアプリをダウンロードしてください。

API デモをダウンロード

前提条件

RequestConfiguration

RequestConfiguration は、すべての広告リクエストにグローバルに適用されるターゲット設定情報を収集します。使用可能なターゲティング タグについては、RequestConfiguration.Builder のドキュメントをご覧ください。

リクエスト構成を更新するには、既存の構成からビルダーを取得し、必要な更新を行って、次のように設定します。

Kotlin

val requestConfiguration = MobileAds.getRequestConfiguration()
  .toBuilder()
  .build()
MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
    .toBuilder()
    .build();
MobileAds.setRequestConfiguration(requestConfiguration);

すべての広告リクエストにリクエスト構成の変更が適用されるようにするには、Mobile Ads SDK を初期化する前にリクエスト構成を設定します。

子供向けの設定

児童オンライン プライバシー保護法(COPPA: Children's Online Privacy Protection Act)に基づき、「子供向け取り扱いタグ」という設定が用意されています。このタグを設定することによって、この通知内容が正確であり、アプリの所有者を代理する権限があることを証明できます。子供向けの設定を不正に利用すると、Google アカウントは削除される場合があります。

アプリのデベロッパーは、広告リクエストの際に、コンテンツを子ども向けとして取り扱うかどうかを指定できます。子供向けとして指定された広告リクエストでは、インタレスト ベース広告(IBA)とリマーケティング広告は無効になります。

子供向けの設定は、setTagForChildDirectedTreatment() を通じて適用できます。

  • COPPA に基づく子供向けコンテンツとしての取り扱いを望む場合は、setTagForChildDirectedTreatmentTAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE に設定して呼び出します。これにより、Android 広告 ID(AAID)が送信されなくなります。

  • COPPA に基づく子供向けコンテンツとしての取り扱いを望まない場合は、setTagForChildDirectedTreatmentTAG_FOR_CHILD_DIRECTED_TREATMENT_FALSE に設定して呼び出します。

  • COPPA に関してコンテンツをどのように取り扱うかを広告リクエストで指定しない場合は、setTagForChildDirectedTreatmentTAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIED に設定して呼び出します。

次の例では、コンテンツを COPPA に基づく子供向けコンテンツとして取り扱うよう指定しています。

Kotlin

val requestConfiguration = MobileAds.getRequestConfiguration()
  .toBuilder()
  .setTagForChildDirectedTreatment(RequestConfiguration.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
  .build()
MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
    .toBuilder()
    .setTagForChildDirectedTreatment(RequestConfiguration.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
    .build();
MobileAds.setRequestConfiguration(requestConfiguration);

欧州経済領域(EEA)の同意年齢に満たないユーザーについては、その広告リクエストにマークを付けることで適切な取り扱いを受けることができます。この機能は、一般データ保護規則(GDPR)の準拠に向けた対応をサポートするためのものです。なお、GDPR の下では他の法的義務が課せられる場合もありますので、欧州連合(EU)のガイダンスをご確認のうえ、お客様の顧問弁護士にご相談ください。Google のツールは、パブリッシャー様による法令遵守の支援を目的としています。これらのツールを使っても、法律上の義務を果たす必要がなくなるわけではないことにご注意ください。GDPR がパブリッシャー様に与える影響の詳細

この機能を使用すると、広告リクエストに TFUA(Tag For Users under the Age of Consent in Europe: 同意年齢に満たない欧州ユーザー向け取り扱いタグ)パラメータが追加されます。このパラメータは、すべての広告リクエストについて、リマーケティングなどによるパーソナライズド広告を無効にします。第三者広告ベンダー(広告測定ピクセルや第三者広告サーバーなどの事業者)へのリクエストも無効にします。

子供向けの設定と同様、RequestConfiguration.Builder には TFUA パラメータを設定するためのメソッド setTagForUnderAgeOfConsent() があります。このメソッドでは次のオプションを使用できます。

  • 欧州経済領域(EEA)の同意年齢に満たないユーザーに適した方法で広告リクエストを処理するよう指定するには、setTagForUnderAgeOfConsent()TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE に設定して呼び出します。これにより、Android 広告 ID(AAID)も送信されなくなります。

  • 欧州経済領域(EEA)の同意年齢に満たないユーザーに適した方法で広告リクエストを処理しないように指定するには、setTagForUnderAgeOfConsent()TAG_FOR_UNDER_AGE_OF_CONSENT_FALSE に設定して呼び出します。

  • 欧州経済領域(EEA)の同意年齢に満たないユーザーに適した方法で広告リクエストを処理するかどうか指定しない場合は、setTagForUnderAgeOfConsent()TAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIED に設定して呼び出します。

次の例は、広告リクエストに TFUA を含めるよう指定しています。

Kotlin

val requestConfiguration = MobileAds.getRequestConfiguration()
  .toBuilder()
  .setTagForUnderAgeOfConsent(RequestConfiguration.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
  .build()
MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
    .toBuilder()
    .setTagForUnderAgeOfConsent(RequestConfiguration.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
    .build();
MobileAds.setRequestConfiguration(requestConfiguration);

子供向けの設定を有効にするタグと setTagForUnderAgeOfConsent() を同時に true に設定しないでください。両方ともその値にすると、子供向けの設定が優先されます。

広告コンテンツのフィルタリング

広告内の関連する提案を含む Google Play の不適切な広告に関するポリシーに準拠するため、アプリ内に表示されるすべての広告およびそれに関連する提案は、コンテンツ自体が Google Play のポリシーに準拠している場合でも、アプリのコンテンツのレーティングに適したものである必要があります。

広告レーティングの上限などのツールを使用すると、ユーザーに表示する広告のコンテンツをより細かく管理できます。広告レーティングの上限の設定は、プラットフォーム ポリシーの準拠にも役立ちます。

setMaxAdContentRating メソッドを使用すると、広告リクエストで広告レーティングの上限を設定することができます。上限を設定した場合は、指定されたレベル以下のコンテンツ レーティングの AdMob 広告が返されます。このネットワーク追加メソッドで使用できる値は、デジタル コンテンツ ラベルの分類に基づいており、次の文字列のいずれかになります。

  • MAX_AD_CONTENT_RATING_G
  • MAX_AD_CONTENT_RATING_PG
  • MAX_AD_CONTENT_RATING_T
  • MAX_AD_CONTENT_RATING_MA

次のコードは、G 以下のデジタル コンテンツ ラベルに対応する広告コンテンツを返すように、RequestConfiguration オブジェクトを設定しています。

Kotlin

val requestConfiguration = MobileAds.getRequestConfiguration()
  .toBuilder()
  .setMaxAdContentRating(RequestConfiguration.MAX_AD_CONTENT_RATING_G)
  .build()
MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
    .toBuilder()
    .setMaxAdContentRating(RequestConfiguration.MAX_AD_CONTENT_RATING_G)
    .build();
MobileAds.setRequestConfiguration(requestConfiguration);

詳しくは、広告リクエストごとに広告レーティングの上限を設定するをご覧ください。

パブリッシャーのプライバシーに関する取り扱い(ベータ版)

パブリッシャーのプライバシーに関する取り扱い(PPT)API は、setPublisherPrivacyPersonalizationState() メソッドを使用して、すべての広告リクエストの広告のパーソナライズをオフにするかどうかをアプリで指定できるようにするオプションのツールです。この機能を使用すると、残りのセッションの今後のすべての広告リクエストにパブリッシャー プライバシー処理(PPT)パラメータが含まれるようになります。

デフォルトでは、Google への広告リクエストに対してパーソナライズド広告が配信されます。次のコードは、すべての広告リクエストで広告のパーソナライズを無効にします。

Kotlin

val requestConfiguration = MobileAds.getRequestConfiguration()
  .toBuilder()
  .setPublisherPrivacyPersonalizationState(PublisherPrivacyPersonalizationState.DISABLED)
  .build()
MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
    .toBuilder()
    .setPublisherPrivacyPersonalizationState(PublisherPrivacyPersonalizationState.DISABLED)
    .build();
MobileAds.setRequestConfiguration(requestConfiguration);

広告リクエスト

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

ネットワーク エクストラを追加する

ネットワークの追加パラメータは、広告リクエストとともに送信される追加の詳細情報で、単一の広告ソースに固有のものです。

次のコード スニペットは、collapsible の追加パラメータ キーを値 bottom とともに Google に設定します。

Kotlin

val extras = Bundle()
extras.putString("collapsible", "bottom")
val adRequest = AdRequest.Builder()
  .addNetworkExtrasBundle(AdMobAdapter::class.java, extras)
  .build()
adLoader.loadAd(adRequest)

Java

Bundle extras = new Bundle();
extras.putString("collapsible", "bottom");
AdRequest adRequest = new AdRequest.Builder()
    .addNetworkExtrasBundle(AdMobAdapter.class, extras)
    .build();
adLoader.loadAd(adRequest);

カスタムのターゲット設定

カスタマイズした Key-Value ペアを渡して、Google アド マネージャー キャンペーン(広告申込情報)のターゲットを設定できます。次の例では、広告リクエストでカスタム Key-Value ペアを渡しています。

Kotlin

// Example: Pass custom targeting "age=25".
val newRequest = AdManagerAdRequest.Builder()
  .addCustomTargeting("age", "25")
  .build()

Java

// Example: Pass custom targeting "age=25".
AdManagerAdRequest newRequest = new AdManagerAdRequest.Builder()
    .addCustomTargeting("age", "25")
    .build();

文字列のリストとして、キーに複数の値を渡すことができます。たとえば、25 歳に加えて 20 代半ばのユーザーにターゲットを設定するには、次のように指定します。

.addCustomTargeting("age", Arrays.asList("24", "25", "26"))
Android API デモアプリでカスタム ターゲット設定を実装するには、Google アド マネージャーのカスタム ターゲット設定のサンプルをご覧ください。

カテゴリの除外

addCategoryExclusion() メソッドを使用して、リクエストにスロット単位でカテゴリの除外レベルを追加できます。

Kotlin

// Example: Exclude "automobile" and "boat" categories.
val newRequest = AdManagerAdRequest.Builder()
  .addCategoryExclusion("automobile")
  .addCategoryExclusion("boat")
  .build()

Java

// Example: Exclude "automobile" and "boat" categories.
AdManagerAdRequest newRequest = new AdManagerAdRequest.Builder()
    .addCategoryExclusion("automobile")
    .addCategoryExclusion("boat")
    .build();

Android API デモアプリでカテゴリの除外を利用するには、Google アド マネージャーのカテゴリ除外のサンプルをご覧ください。

パブリッシャー指定の識別子

フリークエンシー キャップ、オーディエンス セグメンテーションとターゲティング、広告の順次ローテーション、その他オーディエンスに基づく各種デバイスへの広告配信管理で使用するパブリッシャー指定の識別子(PPID)を設定できます。

PPID の設定例は次のとおりです。

Kotlin

val adRequest = AdManagerAdRequest.Builder()
  .setPublisherProvidedId("AB123456789")
  .build()

Java

AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder()
    .setPublisherProvidedId("AB123456789")
    .build();

Android API デモアプリで PPID を設定するには、アド マネージャーの PPID のサンプルをご覧ください。

パブリッシャー提供のシグナル

オーディエンス データとコンテキスト データは、広告リクエストでパブリッシャー提供のシグナル(PPS)として送信できます。PPS を使用すると、標準の分類を使用して、すべての取引タイプで入札者にオーディエンスの特性を伝えることで、ユーザー識別子を共有することなく、ユーザーデータを使用してプログラマティックな収益化を改善できます。オーディエンスの特性には、行動や興味に基づくデータ(IAB オーディエンスの分類 1.1)やコンテキスト データ(IAB コンテンツの分類 2.2)が含まれます。

Kotlin

val extras = Bundle()
// Set the demographic to an audience with an "Age Range" of 30-34 and an
// interest in mergers and acquisitions.
extras.putIntegerArrayList("IAB_AUDIENCE_1_1", arrayListOf(6,284))
// Set the content to sedan, station wagon and SUV automotive values.
extras.putIntegerArrayList("IAB_CONTENT_2_2", arrayListOf(4,5,6))

val request = AdManagerAdRequest.Builder()
  .addNetworkExtrasBundle(AdMobAdapter::class.java, extras)
  .build()

Java

Bundle extras = new Bundle();
// Set the demographic to an audience with an "Age Range" of 30-34 and an
// interest in mergers and acquisitions.
extras.putIntegerArrayList("IAB_AUDIENCE_1_1", arrayListOf(6,284));
// Set the content to sedan, station wagon and SUV automotive values.
extras.putIntegerArrayList("IAB_CONTENT_2_2", arrayListOf(4,5,6));

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

コンテンツの URL

コンテンツ ターゲット広告とブランド保護のためにコンテンツの URL を指定するには、以下を追加します。

Kotlin

val builder = AdManagerAdRequest.Builder()
builder.setContentUrl("https://www.example.com")
val request = builder.build()

Java

AdManagerAdRequest.Builder builder = new AdManagerAdRequest.Builder();
builder.setContentUrl("https://www.example.com");
AdManagerAdRequest request = builder.build();

ブランド保護(ベータ版)

さまざまなユーザー向けに動的コンテンツを表示するアプリでは、URL の簡単なリストを指定できます。

Kotlin

val urls = mutableListOf("https://www.mycontenturl1.com", "https://www.mycontenturl2.com",
                         "https://www.mycontenturl3.com", "https://www.mycontenturl4.com")

val requestWithContent = AdManagerAdRequest.Builder()
  .setNeighboringContentUrls(urls)
  .build()

Java

ArrayList<String> urls = new ArrayList<String>();
urls.add("https://www.mycontenturl1.com");
urls.add("https://www.mycontenturl2.com");
urls.add("https://www.mycontenturl3.com");
urls.add("https://www.mycontenturl4.com");

AdManagerAdRequest requestWithContent = new AdManagerAdRequest.Builder()
    .setNeighboringContentUrls(urls)
    .build();

.setNeighboringContentUrls() は、ブランド保護のみに使用されるという点で .setContentUrl() と異なっています。