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

只需一些修改程式碼,即可在廣告請求中結合原生廣告和橫幅廣告。

必要條件

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

正在載入廣告

系統會使用 AdLoader 類別載入自訂顯示的原生廣告,其中的 AdLoader.Builder 類別可在建立時自訂。在建構 AdLoader 時新增事件監聽器,應用程式會指定其準備好接收的廣告格式類型。接著,AdLoader 只會要求這些類型。

您也可設定 AdLoader 物件來發出廣告請求,進而產生橫幅廣告或原生廣告。建立時將 OnAdManagerAdViewLoadedListener 新增至 AdLoader,表示橫幅廣告應與原生廣告競爭,以履行請求。

以下程式碼示範如何建構可在單一要求中載入原生或橫幅廣告的 AdLoader

Java

AdLoader adLoader = new AdLoader.Builder(context, "/6499/example/nativeandbanner")
    .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, "/6499/example/nativeandbanner")
    .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() 即可。