指定目標

本指南說明如何向 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);

兒童導向內容設定

為遵守《兒童網路隱私保護法》(COPPA),我們提供「標記兒童導向內容」設定。設定這個標記即表示您確認這項通知正確無誤,而且您有權代表應用程式擁有者採取行動。您瞭解濫用這項設定可能會導致 Google 帳戶遭到終止。

如果您是應用程式開發人員,則可指明是否希望 Google 在您提出廣告請求時將內容視為兒童導向內容。如果您表示希望 Google 將內容視為兒童導向內容,我們會採取相應措施,針對該廣告請求停用按照興趣顯示的廣告和再行銷廣告。

您可以透過 setTagForChildDirectedTreatment()

  • 請使用 TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE 呼叫 setTagForChildDirectedTreatment,表示您希望系統根據 COPPA 將內容視為兒童導向內容。這樣可避免傳送 Android 廣告 ID (AAID)

  • 使用 TAG_FOR_CHILD_DIRECTED_TREATMENT_FALSE 呼叫 setTagForChildDirectedTreatment,表示您不希望系統將內容視為 COPPA 所定義的兒童導向內容。

  • 如果您不想在廣告請求中指出希望如何處理內容,請使用 TAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIED 呼叫 setTagForChildDirectedTreatment

以下範例表示您希望系統將內容視為 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);

您可以替廣告請求設定未滿法定同意年齡的歐洲經濟區使用者標記。這項功能的立意是協助發布商遵守《一般資料保護規則》(GDPR)。請注意,您可能還有 GDPR 所衍生的其他法律義務。請查看歐盟的指南,並諮詢您的法律顧問。請注意,Google 提供工具的用意是協助發布商遵守規定,而非方便發布商規避法定義務。 進一步瞭解 GDPR 對發布商的影響

使用這項功能時,廣告請求會包含「未滿法定同意年齡的歐洲使用者標記」(TFUA) 參數。這個參數會針對所有廣告請求停用個人化廣告功能 (包括再行銷),並且停止向第三方廣告供應商 (例如廣告評估像素和第三方廣告伺服器) 提出其他請求。

就像兒童導向內容設定一樣,RequestConfiguration.Builder 中也有用於設定 TFUA 參數的方法: setTagForUnderAgeOfConsent()、,以及下列選項。

  • 使用 TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE 呼叫 setTagForUnderAgeOfConsent(),表示您希望廣告請求針對歐洲經濟區 (EEA) 境內未滿法定同意年齡的使用者採用受限的資料處理模式。這也能避免傳送 Android 廣告 ID (AAID)

  • 搭配 TAG_FOR_UNDER_AGE_OF_CONSENT_FALSE 呼叫 setTagForUnderAgeOfConsent(),表示您希望廣告請求「不」針對歐洲經濟區 (EEA) 境內未滿法定同意年齡的使用者採取相關處理模式。

  • 使用 TAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIED 呼叫 setTagForUnderAgeOfConsent(),表示您未指定廣告請求是否應針對歐洲經濟區 (EEA) 境內未滿法定同意年齡的使用者採用受限的資料處理模式。

以下範例表示您希望在廣告要求中加入 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

以下程式碼會設定 RequestConfiguration 物件,指定傳回的廣告內容應對應至數位內容標籤,其等級不得高於 G

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

請參閱下列文章:

發布商隱私權處理方式 (Beta 版)

發布商隱私權處理方式 (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 物件會收集要透過廣告請求傳送的指定目標資訊。

自訂指定目標

您可以透過 AdManagerAdRequest.Builder.addCustomTargeting(),將自訂鍵/值組合傳遞至指定的 Google Ad Manager 廣告活動 (委刊項):

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 歲左右的使用者,而非只指定 25 歲的使用者。

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

如要瞭解如何在 Android API 示範應用程式中導入自訂指定目標,請參閱 Ad Manager 自訂指定目標範例

類別排除

您可以使用 AdManagerAdRequest.Builder 提供的 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 示範應用程式中實作類別排除條件,請參閱 Ad Manager 類別排除條件範例

發布商提供的 ID

您可以設定發布商提供的 ID (PPID),用於設定展示頻率上限、目標對象區隔和指定目標、廣告依序輪播,以及其他以目標對象為準的跨裝置廣告放送控制項。

以下是設定 PPID 的範例:

Kotlin

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

Java

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

請參閱 Ad Manager PPID 範例,瞭解如何在 Android API 示範應用程式中導入發布商提供的 ID (PPID)。

發布商提供的信號

您可以在廣告請求中,以發布商提供的信號 (PPS) 的形式傳送目標對象和比對內容資料。透過 PPS,您可以使用使用者資料,透過標準分類方式,向所有交易類型的出價方傳達目標對象特徵,藉此改善程式輔助營利,而無須分享使用者 ID。目標對象特徵可包含行為和興趣相關資料 (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 = AdRequest.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()

內容網址

如要為內容指定廣告和品牌安全提供內容網址,您可以在建立 AdManagerAdRequest 時呼叫 setContentUrl()

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

品牌安全 (Beta 版)

針對不同目標對象顯示動態內容的應用程式,在建立 AdManagerAdRequest 時,可以使用 setNeighboringContentUrls() 方法提供簡短的網址清單:

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() 的不同之處在於,.setNeighboringContentUrls() 只用於品牌安全。