ターゲティング

このガイドでは、広告リクエストにターゲティング情報を提供する方法について説明します。実際の例については、Android API デモアプリをダウンロードしてください。

API デモをダウンロード

前提条件

RequestConfiguration

RequestConfiguration は、MobileAds 静的メソッドを介してグローバルに適用されるターゲティング情報を収集するオブジェクトです。

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

Java

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

Kotlin

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

子ども向けの設定

児童オンライン プライバシー保護法(COPPA)に基づき、「子供向け取り扱い」という設定が用意されています。このタグを設定することによって、この通知が正確であること、およびアプリの所有者を代理する権限を有していることを証明するものとします。この設定を不正使用した場合、Google アカウントが停止される可能性があることを理解しているものとします。

アプリのデベロッパーは、広告リクエストの際に、コンテンツを子ども向けとして取り扱うかどうかを指定できます。コンテンツを子ども向けとして取り扱うことを Google に提示すると、その広告リクエストでは IBA 広告とリマーケティング広告が無効になります。

この設定は、RequestConfiguration.Builder.setTagForChildDirectedTreatment(int) を介して Google Play 開発者サービス SDK のすべてのバージョンで使用できます。

  • setTagForChildDirectedTreatmentTAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE に設定して呼び出すと、コンテンツが COPPA に基づく子ども向けとして扱われるように指定できます。これにより、Android 広告 ID(AAID)が転送されなくなります。

  • COPPA に基づく児童向けとしてコンテンツを扱わないように指定するには、setTagForChildDirectedTreatmentTAG_FOR_CHILD_DIRECTED_TREATMENT_FALSE を指定して呼び出します。

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

次の例は、COPPA に基づく子ども向けとしてコンテンツを扱うことを示しています。

Java

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

Kotlin

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

欧州経済領域(EEA)の同意年齢に満たないユーザー向けとして扱われるように広告リクエストにマークを付けることができます。この機能は、一般データ保護規則(GDPR)の遵守を支援するためのものです。なお、GDPR では他の法的義務も適用される場合があります。欧州連合(EU)のガイダンスを確認し、ご自身で弁護士に相談してください。Google が提供するツールの目的は、法令遵守をサポートすることであり、特定のパブリッシャーの法的義務を軽減することではありません。 GDPR によるパブリッシャー様への影響の詳細

この機能を使用すると、広告リクエストに TFUA(ヨーロッパの同意年齢に満たないユーザー向けタグ)パラメータが含まれます。このパラメータを指定すると、すべての広告リクエストで、リマーケティングなどのパーソナライズド広告が無効になります。また、広告測定ピクセルや第三者広告サーバーなどの第三者広告ベンダーへのリクエストも無効になります。

子ども向けの設定と同様に、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 を含める方法を示しています。

Java

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

Kotlin

var 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 オブジェクトを設定しています。

Java

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

Kotlin

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

以下の詳細を確認してください。

パブリッシャーのプライバシー保護(ベータ版)

パブリッシャー様のプライバシーに関する対応 (PPT)API は、setPublisherPrivacyPersonalizationState() メソッドを使用して、すべての広告リクエストに対して広告のパーソナライズを無効にするかどうかをアプリで指定できるようにするオプションのツールです。この機能を使用している場合、以降のセッションでは、以降のすべての広告リクエストにパブリッシャーのプライバシー保護(PPT)パラメータが含まれます。

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

Java

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

Kotlin

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

広告リクエスト

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

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

カスタムの Key-Value ペアを渡して、AdManagerAdRequest.Builder.addCustomTargeting() を使用して Google アド マネージャーのキャンペーン(広告申込情報)をターゲットに設定できます。

Java

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

Kotlin

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

文字列のリストとして、キーに複数の値を渡すことができます。たとえば、25 歳だけでなく 20 代半ばの個人をターゲットに設定できます。

.addCustomTargeting("age", Arrays.asList("24", "25", "26"))

Android API デモアプリでカスタム ターゲティングを実装するには、アド マネージャーのカスタム ターゲティングのサンプルをご覧ください。

カテゴリの除外

スロットレベルのカテゴリ除外レベルをリクエストに追加するには、AdManagerAdRequest.Builder で提供される addCategoryExclusion() メソッドを使用します。

Java

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

Kotlin

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

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

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

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

PPID の設定例を次に示します。

Java

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

Kotlin

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

Android API デモアプリにパブリッシャー指定の識別子(PPID)を実装する方法については、アド マネージャーの PPID のサンプルをご覧ください。

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

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

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()

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 = AdRequest.Builder()
  .addNetworkExtrasBundle(AdMobAdapter::class.java, extras)
  .build()

コンテンツの URL

コンテンツ ターゲット広告とブランド保護にコンテンツ URL を指定するには、AdManagerAdRequest の作成時に setContentUrl() を呼び出します。

Java

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

Kotlin

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

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

さまざまなユーザー層向けの動的コンテンツを表示するアプリでは、AdManagerAdRequest の作成時に setNeighboringContentUrls() メソッドを使用して、URL の短いリストを指定できます。

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();

Kotlin

var urls = mutableListOf("https://www.mycontenturl1.com", "https://www.mycontenturl2.com",
                         "https://www.mycontenturl3.com", "https://www.mycontenturl4.com")
var requestWithContent = AdManagerAdRequest.Builder()
  .setNeighboringContentUrls(urls)
  .build()

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