只需一些修改程式碼,即可在廣告請求中結合原生廣告和橫幅廣告。
必要條件
- 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()
即可。