只要稍微修改程式碼,就能在廣告請求中結合原生廣告和橫幅廣告。
必要條件
載入廣告
系統會使用 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()
。