只要稍微修改程式碼,就能在廣告請求中結合原生廣告和橫幅廣告。
必要條件
- 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() 方法。
設定小於或等於裝置螢幕大小的廣告尺寸。如要判斷螢幕大小上限,請使用 Resources.getDisplayMetrics 方法。AdSize 物件尺寸採用密度獨立像素 (dp)。比較時,請將螢幕大小從像素轉換為 dp。如要瞭解大小限制的詳細資訊,請參閱「解決 Ad Manager 中廣告空缺的曝光問題」。
設定 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()執行這項操作。