橫幅廣告
橫幅廣告會占據(jù)應用布局中的一處位置,要么是設備屏幕的頂部,要么是底部。這類廣告會在用戶與應用互動時停留在屏幕上,并且可在一段時間后自動刷新。如果您剛開始接觸移動廣告,不妨先從橫幅廣告著手。
本指南介紹了如何將AdMob橫幅廣告植入到Android應用中。除了提供代碼段和操作說明之外,本指南還介紹了如何正確地設置橫幅廣告的尺寸,并給出了其他資源的鏈接。
前提條件
·導入Google移動廣告SDK(可以只導入其自身,也可以將其作為Firebase的一部分加以導入)。
向布局中添加AdView
要展示橫幅廣告,首先要將AdView放置到您希望用于展示廣告的Activity或Fragment的布局中。最簡單的放置方法是將其添加到相應的XML布局文件中。下例展示了某一Activity的AdView:
# main_activity.xml
...
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
ads:adSize="BANNER"
ads:adUnitId="ca-app-pub-3940256099942544/6300978111">
</com.google.android.gms.ads.AdView>
...
請注意設置以下必需屬性:
·ads:adSize-將此屬性設置為要使用的廣告尺寸。如果您不想使用該常量定義的標準尺寸,可改為設置自定義尺寸。有關(guān)詳情,請參閱下面的“橫幅廣告尺寸”部分。
·ads:adUnitId-將此屬性設置為您應用中用于展示廣告的廣告單元所用的唯一標識符。如果您要在不同的Activity中展示橫幅廣告,則其中每個都需要一個廣告單元。
另外,您也可以通過編程方式創(chuàng)建AdView:
警告:請確保以相同的方式設置廣告尺寸和廣告單元ID,即確保兩者均使用XML格式或均以編程方式進行設置。
務必用測試廣告進行測試
在構(gòu)建和測試應用時,請確保使用的是測試廣告,而不是實際投放的廣告。否則,可能會導致您的帳號被暫停。
對于Android橫幅廣告,加載測試廣告最簡便的方法就是使用下面的測試專用廣告單元ID:
ca-app-pub-3940256099942544/6300978111
該測試廣告單元ID已經(jīng)過專門配置,可確保每個請求返回的都是測試廣告。您可以在自己應用的編碼、測試和調(diào)試過程中隨意使用該測試廣告單元ID。只是一定要在發(fā)布應用前用您自己的廣告單元ID替換該測試廣告單元ID。
如需詳細了解移動廣告SDK的測試廣告如何運作,請參閱測試廣告。
加載廣告
注意:請在主線程中進行對移動廣告SDK的所有調(diào)用。
AdView放置好后,下一步是加載廣告。廣告加載是使用AdView類中的loadAd()方法完成的。此方法需要一個AdRequest參數(shù),該參數(shù)中包含關(guān)于單個廣告請求的運行時信息(如定位信息)。
下例顯示了如何通過Activity的onCreate()方法加載廣告:
MainActivity(節(jié)選)
注意:如果您的廣告加載失敗,只要已將廣告單元配置為定期刷新,就無需再明確請求一個廣告;Google移動廣告SDK會按照您在AdMob界面中指定的頻率進行刷新。如果您尚未啟用刷新,則需要發(fā)出新的請求。
大功告成!您的應用現(xiàn)在就可以展示橫幅廣告了。
廣告事件
要進一步自定義您的廣告行為,您可以在廣告生命周期內(nèi)加入許多事件,如加載、打開、關(guān)閉等等。您可以通過AdListener類監(jiān)聽這些事件。
要將AdListener用于AdView,請調(diào)用setAdListener()方法:
AdListener中每種可替換的方法均對應廣告生命周期內(nèi)的一個事件。
橫幅廣告尺寸
注意:橫幅廣告容器的尺寸必須至少與橫幅廣告一樣大。如果容器留有內(nèi)邊距,容器的實際尺寸會有所減小。如果容器無法容納橫幅廣告,則橫幅廣告不會展示,并且您的日志中會顯示以下警告:
W/Ads:Not enough space to show ad.Needs 320x50 dp,but only has 288x495 dp.
下表列出了標準的橫幅廣告尺寸。
要自定義橫幅廣告尺寸,請設置所需的AdSize,如下所示:
針對視頻廣告啟用硬件加速
為了確保視頻廣告在橫幅廣告視圖中成功展示,必須啟用硬件加速。
硬件加速默認處于啟用狀態(tài),但有些應用可能會選擇將其停用。如果您的應用停用了硬件加速,我們建議您為使用廣告的Activity類啟用硬件加速。
啟用硬件加速
如果您的應用在全局級別啟用硬件加速時無法正常運行,您也可以針對單個Activity啟用或停用硬件加速。如需啟用或停用硬件加速,您可以針對AndroidManifest.xml中的<application>和<activity>元素使用android:hardwareAccelerated屬性。以下示例展示了如何為整個應用啟用硬件加速,但為一個Activity停用硬件加速:
<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>
如需詳細了解用于控制硬件加速的選項,請參閱硬件加速指南。請注意,如果停用某個Activity,將無法針對單個廣告視圖啟用硬件加速,因此必須針對該Activity本身啟用硬件加速。