結合自訂顯示的原生廣告和橫幅廣告請求

只要稍微修改程式碼,就能在廣告請求中結合原生廣告和橫幅廣告。

必要條件

  • Google Mobile Ads SDK 11.0.0 以上版本。
  • 完成「開始使用」

載入廣告

系統會使用 AdLoader 類別載入自訂轉譯的原生廣告,該類別會在建立期間使用自己的 AdLoader.Builder 類別進行自訂。在建構 AdLoader 時,應用程式會在其中新增事件監聽器,指定可接收哪些類型的廣告格式。AdLoader 就只會要求這些類型。

您也可以設定 AdLoader 物件,以便發出可產生橫幅廣告或原生廣告的廣告要求。在建構 AdLoader 時,將 OnAdManagerAdViewLoadedListener 新增至 AdLoader,指定橫幅廣告應與原生廣告競爭,以便供應請求。

以下程式碼示範如何建構 AdLoader,讓其能在單一要求中載入原生廣告或橫幅廣告:

Java

AdLoader adLoader = new AdLoader.Builder(context, "/21775744923/example/native-and-banner")
    .forNativeAd(new NativeAd.OnNativeAdLoadedListener() {
      @Override
      public void onNativeAdLoaded(NativeAd nativeAd) {
        // Show the ad.
      }
    })
    .forAdManagerAdView(new OnAdManagerAdViewLoadedListener() {
      @Override
      public void onAdManagerAdViewLoaded(AdManagerAdView adView) {
        // Show the banner ad.
      }
    }, AdSize.BANNER, AdSize.MEDIUM_RECTANGLE)
    .withAdListener(new AdListener() {
      @Override
      public void onAdFailedToLoad(LoadAdError error) {
        // Handle the failure by logging, altering the UI, and so on.
      }
    })
    .withAdManagerAdViewOptions(new AdManagerAdViewOptions.Builder()
      // Methods in the AdManagerAdViewOptions.Builder class can be
      // used here to specify individual options settings.
      .build())
    .build();

Kotlin

val adLoader = AdLoader.Builder(this, "/21775744923/example/native-and-banner")
    .forNativeAd { nativeAd ->
      // Show the ad.
    }
    .forAdManagerAdView({ adView ->
      // Show the banner ad.
    }, AdSize.BANNER, AdSize.MEDIUM_RECTANGLE)
    .withAdListener(object: AdListener() {
      override fun onAdFailedToLoad(adError: LoadAdError) {
        // Handle the failure by logging, altering the UI, and so on.
      }
    })
    .withAdManagerAdViewOptions(AdManagerAdViewOptions.Builder()
      // Methods in the AdManagerAdViewOptions.Builder class can be
      // used here to specify individual options settings.
      .build())
    .build()

上述 forAdManagerAdView() 方法會準備 AdLoader,以便接收橫幅廣告。在叫用 forAdManagerAdView() 時,必須在 OnAdManagerAdViewLoadedListener 旁指定有效廣告大小的變長清單。

如要提出有效的廣告請求,您必須至少指定一個有效的廣告尺寸。橫幅廣告成功載入後,系統會呼叫指定的事件監聽器物件 onAdManagerAdViewLoaded() 方法。

設定 AdViewOptions

上方建立 AdLoader 時所包含的最後一個函式是另一個選用方法 withAdManagerAdViewOptions()

Java

.withAdManagerAdViewOptions(new AdManagerAdViewOptions.Builder()
    // Methods in the AdManagerAdViewOptions.Builder class can be
    // used here to specify individual banner options settings.
    .build()

Kotlin

.withAdManagerAdViewOptions(AdManagerAdViewOptions.Builder()
    // Methods in the AdManagerAdViewOptions.Builder class can be
    // used here to specify individual banner options settings.
    .build()

AdManagerAdViewOptions 物件可讓發布商為 AdLoader 載入的橫幅廣告設定特定選項,例如:

setManualImpressionsEnabled()
啟用 Google Ad Manager 預訂的手動曝光回報功能。使用手動曝光的應用程式可以自行決定何時應記錄曝光,方法是呼叫 AdManagerAdView.recordManualImpression()