設定 Ad Exchange 的直接存取權

Google Mobile Ads SDK 支援透過 Ad Exchange 資源在應用程式中營利。本指南說明如何為 Ad Exchange 支援的所有廣告格式設定應用程式。

必要條件

設定應用程式以存取 Ad Exchange

在應用程式的 AndroidManifest.xml 檔案中,透過 <meta-data> 標籤和 android:name="com.google.android.gms.ads.APPLICATION_ID",加入 Ad Manager 應用程式 ID (顯示於 Ad Manager UI 中)。在 android:value 中插入您的 Ad Manager 應用程式 ID,並以半形引號括住。

<manifest>
    <application>
        <!-- Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713 -->
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
    </application>
</manifest>

此外,請注意,如果未按照上述方式新增 <meta-data> 代碼,會導致當機並顯示以下訊息:

Missing application ID.

接著,您可以初始化 Google Mobile Ads SDK,並選取要顯示的廣告格式。本指南的其餘部分會實作橫幅格式,說明如何從 Ad Exchange 載入廣告。這些步驟也適用於 Google Mobile Ads SDK 支援的任何廣告格式。

從 Ad Exchange 載入廣告

您可以搭配使用 Ad Exchange 網站資源代碼和尾端斜線,取代廣告單元 ID。例如 ca-mb-app-pub-5629679302779023/

以下範例會在橫幅廣告要求中加入 Ad Exchange 網站資源代碼:

Kotlin

val adRequest = BannerAdRequest.Builder("ca-mb-app-pub-5629679302779023/", AdSize.BANNER).build()

BannerAd.load(
  adRequest,
  object : AdLoadCallback<BannerAd> {
    override fun onAdLoaded(ad: BannerAd) {
      bannerAd = ad
      activity?.runOnUiThread {
        binding.bannerViewContainer.addView(ad.getView(requireActivity()))
      }
    }
  }
)

Java

BannerAdRequest adRequest = new BannerAdRequest.Builder("ca-mb-app-pub-5629679302779023/",
    AdSize.BANNER).build();

BannerAd.load(
    adRequest,
    new AdLoadCallback<BannerAd>() {
      @Override
      public void onAdLoaded(@NonNull BannerAd ad) {
        bannerAd = ad;
        runOnUiThread(
            () -> binding.bannerViewContainer.addView(ad.getView(MainActivity.this)));
      }
    });

請注意,如果未在 Ad Exchange 網站資源代碼中加入尾端斜線,就會導致廣告請求錯誤,並顯示以下訊息:

Invalid Request. Cannot determine request type. Is your ad unit id correct?

您也可以將 Ad Exchange 網站資源代碼轉換為廣告單元。 接著,使用 Ad Manager 使用者介面產生 Ad Exchange 廣告代碼,然後複製到應用程式中。產生的廣告代碼應包含 Ad Exchange 網站資源代碼,後面接著子代廣告單元 ID,且不含尾端斜線,例如:ca-mb-app-pub-5629679302779023/banner

大功告成!您的應用程式現在可以載入及顯示 Ad Exchange 橫幅廣告。

此外,您也可以按照下列指南,使用 Ad Exchange 網站資源載入及顯示 Ad Exchange 的其他廣告格式:

(僅適用於已獲得核准的歐洲發布商) 新增底價

您可以申請使用「底價」功能

獲得核准後,您可以使用 pubfpvtf 參數,在廣告請求中加入公開底價或私人底價。在下列程式碼範例中,將「123」替換成以微元為單位的底價,以及聯播網的預設幣別。微元的套用方式範例:如果預設貨幣為美元,輸入「6000000」相當於 $6.00 美元。

Kotlin

val extras = Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");

val request = AdRequest.Builder("ca-mb-app-pub-5629679302779023/")
    .setGoogleExtrasBundle(extras)
    .build();

Java

Bundle extras = new Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");

AdRequest request = new AdRequest.Builder("ca-mb-app-pub-5629679302779023/")
    .setGoogleExtrasBundle(extras)
    .build();