橫幅廣告

橫幅廣告是佔用部分應用程式版面的矩形廣告。使用者與應用程式互動時,這類廣告會顯示在畫面頂端或底部,或是在使用者捲動畫面時且內嵌於內容中顯示。橫幅廣告經過一段時間後會自動重新整理。詳情請參閱「橫幅廣告總覽」。

本指南將說明如何開始使用錨定自動調整橫幅廣告,這種廣告會根據您指定的廣告寬度,為每部裝置最佳化廣告大小,進而提高成效。

錨定自動調整橫幅廣告是固定顯示比例的廣告,而非一般固定大小的廣告。顯示比例與 320x50 業界標準相似。指定可用的完整寬度後,系統就會傳回廣告,並以該寬度的最佳高度顯示。同一部裝置的不同要求,最佳高度不會有所變動,廣告重新整理時,周圍的檢視畫面也不需要移動。

必要條件

請務必使用測試廣告進行測試

建構及測試應用程式時,請務必使用測試廣告,而非實際的正式版廣告。否則可能導致帳戶遭到停權。

如要載入測試廣告,最簡單的方法是使用 Android 橫幅廣告專用的測試廣告單元 ID:

ca-app-pub-3940256099942544/9214589741

這項廣告單元已特別設定為針對每項要求傳回測試廣告,您可以在編寫程式碼、測試及偵錯時,在自己的應用程式中使用這項廣告單元。只要確定在發布應用程式前已將其替換為您自己的廣告單元 ID 即可。

如要進一步瞭解 Mobile Ads SDK 的測試廣告運作方式,請參閱「測試廣告」。

在版面配置中加入 AdView

要顯示橫幅廣告,第一步是將 AdView 放在應用程式的版面配置中:

Java

// Create a new ad view.
adView = new AdView(this);
adView.setAdUnitId(AD_UNIT_ID);
adView.setAdSize(getAdSize());

// Replace ad container with new ad view.
adContainerView.removeAllViews();
adContainerView.addView(adView);

Kotlin

// Create a new ad view.
val adView = AdView(this)
adView.adUnitId = AD_UNIT_ID
adView.setAdSize(adSize)
this.adView = adView

// Replace ad container with new ad view.
binding.adViewContainer.removeAllViews()
binding.adViewContainer.addView(adView)

載入廣告

將 AdView 放置到適當位置後,下一步就是載入廣告。您可以使用 AdView 類別中的 loadAd() 方法完成這項操作。這個方法會採用 AdRequest 參數,該參數會儲存單一廣告請求的執行階段資訊,例如指定目標資訊。

以下範例說明如何載入廣告:

Java

// Start loading the ad in the background.
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);

Kotlin

// Start loading the ad in the background.
val adRequest = AdRequest.Builder().build()
adView.loadAd(adRequest)

如果廣告無法載入,只要您已設定廣告單元重新整理,就不需要明確要求另一個廣告;Google Mobile Ads SDK 會遵循您在 AdMob 網頁介面中指定的任何重新整理率。如果尚未啟用重新整理功能,就必須發出新的要求。

大功告成!您的應用程式現在可以顯示橫幅廣告了。

廣告事件

您可以在廣告的生命週期中監聽多個事件,包括載入、廣告曝光和點擊,以及廣告開啟和關閉事件。建議您在載入橫幅廣告前設定回呼。

Java

adView.setAdListener(new AdListener() {
    @Override
    public void onAdClicked() {
      // Code to be executed when the user clicks on an ad.
    }

    @Override
    public void onAdClosed() {
      // Code to be executed when the user is about to return
      // to the app after tapping on an ad.
    }

    @Override
    public void onAdFailedToLoad(LoadAdError adError) {
      // Code to be executed when an ad request fails.
    }

    @Override
    public void onAdImpression() {
      // Code to be executed when an impression is recorded
      // for an ad.
    }

    @Override
    public void onAdLoaded() {
      // Code to be executed when an ad finishes loading.
    }

    @Override
    public void onAdOpened() {
      // Code to be executed when an ad opens an overlay that
      // covers the screen.
    }
});

Kotlin

adView.adListener = object: AdListener() {
    override fun onAdClicked() {
      // Code to be executed when the user clicks on an ad.
    }

    override fun onAdClosed() {
      // Code to be executed when the user is about to return
      // to the app after tapping on an ad.
    }

    override fun onAdFailedToLoad(adError : LoadAdError) {
      // Code to be executed when an ad request fails.
    }

    override fun onAdImpression() {
      // Code to be executed when an impression is recorded
      // for an ad.
    }

    override fun onAdLoaded() {
      // Code to be executed when an ad finishes loading.
    }

    override fun onAdOpened() {
      // Code to be executed when an ad opens an overlay that
      // covers the screen.
    }
}

AdListener 中的每個可覆寫方法都對應至廣告生命週期中的事件。

可覆寫的方法
onAdClicked() 系統會在記錄廣告點擊時叫用 onAdClicked() 方法。
onAdClosed() 當使用者在瀏覽廣告的到達網址後返回應用程式時,系統會叫用 onAdClosed() 方法。您的應用程式可以使用此方法來繼續執行已暫停的活動,或執行任何其他必要作業,以便準備好進行互動。如要瞭解如何在 Android API 試用版應用程式中導入廣告事件監聽器方法,請參閱 AdMob AdListener 範例
onAdFailedToLoad() onAdFailedToLoad() 方法是唯一包含參數的方法。LoadAdError 類型的錯誤參數會說明發生了什麼錯誤。詳情請參閱廣告載入錯誤偵錯說明文件
onAdImpression() 系統會在記錄廣告曝光時叫用 onAdImpression() 方法。
onAdLoaded() 廣告載入完畢後,系統會執行 onAdLoaded() 方法。舉例來說,如果您想等到確定廣告可載入後才將 AdView 新增至活動或片段,則可在此執行。
onAdOpened() 當廣告開啟會覆蓋整個螢幕的疊加層時,系統會叫用 onAdOpened() 方法。

影片廣告的硬體加速功能

如要讓影片廣告順利顯示在橫幅廣告檢視畫面中,請務必啟用硬體加速功能。

硬體加速功能預設為啟用,但部分應用程式可能會選擇停用。如果您的應用程式適用於這種情況,建議您為使用廣告的 Activity 類別啟用硬體加速功能。

啟用硬體加速

如果全域開啟硬體加速功能,應用程式無法正常運作,您也可以控制個別活動。如要啟用或停用硬體加速,您可以針對 AndroidManifest.xml 中的 <application><activity> 元素使用 android:hardwareAccelerated 屬性。以下示範為整個應用程式啟用硬體加速,但針對一項活動停用此功能:

<application android:hardwareAccelerated="true">
    <!-- For activities that use ads, hardwareAcceleration should be true. -->
    <activity android:hardwareAccelerated="true" />
    <!-- For activities that don't use ads, hardwareAcceleration can be false. -->
    <activity android:hardwareAccelerated="false" />
</application>

如要進一步瞭解控制硬體加速功能的選項,請參閱「硬體加速指南」。請注意,如果活動已停用,則無法為個別廣告檢視畫面啟用硬體加速功能,因此活動本身必須已啟用硬體加速功能。

其他資源

GitHub 上的範例

  • 錨定自動調整橫幅廣告範例:Java | Kotlin

後續步驟

可收合橫幅廣告

可收合橫幅廣告是一開始會以較大重疊廣告顯示的橫幅廣告,並提供按鈕將廣告收合為較小的尺寸。建議您使用這項功能進一步提升成效。詳情請參閱「可收合橫幅廣告」。

內嵌自動調整橫幅廣告

相較於錨定自動調整橫幅廣告,內嵌自動調整橫幅廣告的尺寸更大、高度更高。可調整高度,甚至可與裝置螢幕一樣高。如果應用程式在可捲動內容中刊登橫幅廣告,建議使用內嵌自動調整橫幅廣告,而非錨定自動調整橫幅廣告。詳情請參閱「內嵌式自適應橫幅」。

探索其他主題