只要稍微修改程式碼,您就能在廣告請求中同時加入原生廣告和橫幅廣告。
必要條件
- Google Mobile Ads SDK 11.0.0 以上版本。
- 完成入門指南的步驟。
載入廣告
自訂顯示原生廣告會透過 AdLoader 類別載入,該類別有自己的 AdLoader.Builder 類別,可在建立期間自訂。在建構時將監聽器新增至 AdLoader,應用程式即可指定要接收的廣告格式類型。這樣一來,AdLoader 就只會要求指定的類型。
您也可以設定 AdLoader 物件,發出廣告請求,並取得橫幅廣告或原生廣告。建構 AdLoader 時新增 OnAdManagerAdViewLoadedListener,即可指定橫幅廣告應與原生廣告競爭,爭取供應廣告的機會。
以下程式碼示範如何建構 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, etc. } }) .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, etc. } }) .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()執行這項操作。