橫幅廣告是會佔用應用程式的部分版面的矩形廣告。他們 會固定在使用者與應用程式互動時,固定在畫面上顯示 使用者捲動畫面時,螢幕頂端或底部,或是內嵌到內容旁邊。橫幅 廣告會在一段時間後自動重新整理查看橫幅廣告總覽 瞭解詳情
本指南說明如何開始使用錨定廣告 自動調整橫幅廣告 進而盡量提高成效 指定的廣告寬度
錨定自動調整橫幅廣告是固定的顯示比例廣告,而非一般廣告的 固定大小的廣告。長寬比與 320x50 的業界標準相似。一次 請指定可用的完整寬度,系統就會傳回 決定該寬度的高度所有要求,理想的高度不會改變 而且周圍的檢視畫面不需要隨著廣告移動 重新整理。
必要條件
- 完成入門指南。
一律使用測試廣告進行測試
建構及測試應用程式時,請務必使用測試廣告,而非實際的正式版廣告。否則可能導致帳戶遭到停權。
要載入測試廣告,最簡單的方法是使用我們專屬的測試廣告單元編號。 Android 橫幅:
/21775744923/example/adaptive-banner
這項廣告單元已特別設定為針對每項要求傳回測試廣告,您可以在編寫程式碼、測試及偵錯時,在自己的應用程式中使用這項廣告單元。只要確定 請先改用您自己的廣告單元 ID,再發布應用程式。
如要進一步瞭解 Mobile Ads SDK 的測試廣告運作方式,請參閱「測試廣告」。
在版面配置中新增 AdManagerAdView
顯示橫幅的第一步是放置 AdManagerAdView
放入應用程式版面配置中
Java
// Create a new ad view.
adView = new AdManagerAdView(this);
adView.setAdUnitId(AD_UNIT);
adView.setAdSize(getAdSize());
// Replace ad container with new ad view.
adContainerView.removeAllViews();
adContainerView.addView(adView);
Kotlin
// Create a new ad view.
val adView = AdManagerAdView(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)
載入廣告
AdManagerAdView 設定完畢後,下一步就是
並載入廣告這就是loadAd()
AdManagerAdView
類別中的方法。這需要 AdManagerAdRequest
參數,用來儲存
單一廣告請求
以下範例說明如何載入廣告:
Java
// Start loading the ad in the background.
AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder().build();
adView.loadAd(adRequest);
Kotlin
// Start loading the ad in the background.
val adRequest = AdManagerAdRequest.Builder().build()
adView.loadAd(adRequest)
如果廣告無法載入,您就不需要明確請求其他廣告 前提是廣告單元已經設定重新整理Google Mobile Ads SDK 採用您在 Ad Manager 中指定的任何重新整理頻率 網頁介面上。如果您尚未啟用重新整理功能,就必須發出新的要求。
大功告成!您的應用程式現在可以顯示橫幅廣告了。
廣告事件
您可以監聽廣告生命週期中的多個事件,包括載入、 廣告曝光和點擊事件,以及廣告開啟和關閉事件。建議 來設定回呼,再載入橫幅廣告。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()
方法會在使用者觀看廣告的
到達網頁網址。您的應用程式可以使用它恢復已暫停的活動。
執行任何其他必要工作,準備好進行互動。
|
onAdFailedToLoad() |
onAdFailedToLoad()
是唯一包含參數的方法。類型的錯誤參數
LoadAdError 說明發生的錯誤。如需更多資訊
請參閱廣告載入錯誤偵錯
說明文件。
|
onAdImpression() |
onAdImpression()
方法,系統就會呼叫此方法。
|
onAdLoaded() |
onAdLoaded()
方法會在廣告載入完畢後執行。如果您想延後將 AdManagerAdView 新增至活動或片段,直到您確定廣告會載入為止,例如,您可以在此處執行此操作。 |
onAdOpened() |
onAdOpened()
方法會在廣告開啟會覆蓋整個畫面時叫用。
|
影片廣告的硬體加速
為了讓影片廣告在橫幅廣告檢視中成功顯示,硬體: 加速必須 。
硬體加速功能預設為啟用,但部分應用程式可能會選擇停用
基礎架構如果您的應用程式有這種情況,建議您為下列應用程式啟用硬體加速功能:
使用廣告的 Activity
類別。
啟用硬體加速
如果全域開啟硬體加速時,您的應用程式無法正常運作,也可以個別控制各項活動。如要啟用或
停用硬體加速時,您可以使用 android:hardwareAccelerated
屬性的
<application>
和
<activity>
AndroidManifest.xml
中的元素。以下範例會啟用硬體
但會針對單一活動停用此功能:
<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>
請參閱硬體加速 指南 控制硬體加速的選項。請注意,如果活動已停用,則無法為個別廣告檢視畫面啟用硬體加速功能,因此活動本身必須已啟用硬體加速功能。
以人工方式計算曝光次數
手動計算曝光次數只適用於直接銷售和內部廣告 內含直接在 Ad Manager 投放廣告素材的廣告活動。這不該 用於候補廣告或第三方聯播網廣告詳情請參閱「計算曝光和點擊次數」。
如果有特殊條件,您可以手動將曝光連線偵測 (ping) 傳送至 Ad Manager
條件。如要這麼做,請啟用
AdManagerAdRequest
:在載入廣告前手動計算曝光次數:
Java
AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder()
.setManualImpressionsEnabled(true)
.build();
Kotlin
val adRequest = AdManagerAdRequest.Builder()
.setManualImpressionsEnabled(true)
.build()
當您認為廣告已經成功傳回並顯示在畫面上時, 但您可以手動記錄曝光:
Java
{ ad_view }.recordManualImpression();
Kotlin
AdManagerAdView.recordManualImpression()
應用程式事件
應用程式事件可讓您建立廣告,以便傳送訊息到應用程式的程式碼。應用程式 就能依據這些訊息採取動作
您可以使用 AppEventListener
監聽 Ad Manager 專屬的應用程式事件。
這些事件可能會在廣告生命週期的任何時間點發生,即使是在
系統會呼叫 onAdLoaded()
。
Java
public interface AppEventListener {
void onAppEvent(String name, String info);
}
Kotlin
interface AppEventListener {
fun onAppEvent(name: String, info: String)
}
發生應用程式事件時,系統會呼叫 void onAppEvent(String name, String info)
廣告。這個介面可由您的活動或其他任何
物件:
Java
import com.google.android.gms.ads.admanager.*;
public class BannerExample extends Activity implements AppEventListener {
}
Kotlin
import com.google.android.gms.ads.admanager.*
class BannerExample : Activity(), AppEventListener {
}
然後傳遞至 AdManagerAdView
:
Java
AdManagerAdView.setAppEventListener(this);
Kotlin
AdManagerAdView.appEventListener = this
以下範例說明如何變更應用程式的背景顏色 根據包含顏色名稱的應用程式事件進行選擇:
Java
@Override
public void onAppEvent(String name, String info) {
if ("color".equals(name)) {
if ("green".equals(info)) {
// Set background color to green.
} else if ("blue".equals(info)) {
// Set background color to blue.
} else {
// Set background color to black.
}
}
}
Kotlin
override fun onAppEvent(name: String?, info: String?) {
if (name == "color") {
when (info) {
"green" -> {
// Set background color to green.
}
"blue" -> {
// Set background color to blue.
}
else -> {
// Set background color to black.
}
}
}
}
然後這個對應的廣告素材會將顏色應用程式事件訊息傳送至 接聽程式:
<html>
<head>
<script src="//www.gstatic.com/afma/api/v1/google_mobile_app_ads.js"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
// Send a color=green event when ad loads.
admob.events.dispatchAppEvent("color", "green");
document.getElementById("ad").addEventListener("click", function() {
// Send a color=blue event when ad is clicked.
admob.events.dispatchAppEvent("color", "blue");
});
});
</script>
<style>
#ad {
width: 320px;
height: 50px;
top: 0px;
left: 0px;
font-size: 24pt;
font-weight: bold;
position: absolute;
background: black;
color: white;
text-align: center;
}
</style>
</head>
<body>
<div id="ad">Carpe diem!</div>
</body>
</html>
請參閱 Ad Manager 應用程式事件範例,瞭解如何在 API 試用版應用程式。
其他資源
GitHub 上的範例
後續步驟
可收合橫幅廣告
可收合橫幅廣告是一開始會以較大重疊廣告顯示的橫幅廣告,並提供按鈕將廣告收合為較小的尺寸。建議採用 進一步提升成效詳情請參閱「可收合橫幅廣告」一文。
內嵌自動調整橫幅廣告
與錨定自動調整橫幅廣告相比,內嵌自動調整橫幅廣告較大、尺寸更加大 橫幅廣告它們的高度不一,而且可以和裝置螢幕一樣高。 建議內嵌自動調整橫幅廣告,而非錨定式自動調整橫幅廣告。 應用程式會在可捲動內容中顯示橫幅廣告。詳情請參閱「內嵌式自適應橫幅」。