本指南會爲您介紹如何在現有應用中集成KeyMob移動廣告 SDK,以及在此過程當中須要注意的一些重要事項。其中的技術和代碼示例適用於Eclipse和Android Studio項目。
一:加入 SDK
要在應用中展現AdMob廣告,您首先須要在項目中加入KeyMob移動廣告SDK。完成此操做的正確方式會因您使用的 IDE 而稍有不一樣。如下步驟適合使用Android Studio的開發者:
1:下載 Google Repository
2:配置 Gradle
3:修改清單
如下爲在Eclipse項目中加入SDK的步驟:
1:下載 Google Play 服務
2:加入和引用 Google Play 服務庫項目
3:修改清單
二:選擇橫幅廣告、插頁式廣告,仍是二者都選?
AdMob廣告分爲兩大類別:橫幅廣告和插頁式廣告。做爲發佈商,您須要作出的第一項決策是:選擇最適合應用設計和流程的廣告。
插頁式廣告是全屏廣告,展現時會覆蓋其宿主應用的界面。它們展現時會讓用戶選擇關閉廣告,仍是繼續訪問其目標網址,隨後由應用來對其進行控制。它們在偶爾進行任務轉換的應用中效果最好,例如關卡之間會暫停的遊戲。
而橫幅廣告則只會佔據宿主應用界面的一部分,所以展現的時間更長。它們在空間佔用不會影響用戶體驗的佈局中效果最好。例如,新聞閱讀器應用能夠在佈局底部展現橫幅廣告,並將其他空間留給內容。
您的應用可能特別適合其中一個類別,或者對兩種廣告來講都是不錯的選擇。若是適用於兩種廣告,那麼您能夠同時加入橫幅廣告和插頁式廣告。若是您不肯定應選 用哪一種廣告,能夠嘗試同時投放兩種廣告,看看它們是否會影響用戶體驗。如您所見,不管在應用中加入哪一種廣告,都不須要進行大量編碼,所以沒必要擔憂會進行多 輪構建測試。
三:插頁式廣告
要將插頁式廣告歸入應用的某項活動,您須要執行三個主要步驟:
1:構建InterstitialAd對象並設置其廣告單元ID。
2:請求廣告。
3:肯定廣告加載後,將其展現出來。
展現多個插頁式廣告的應用能夠重複步驟2和3,以逐個請求並展現多個插頁式廣告。
在下文中,咱們會介紹完成每項任務所需的一些代碼段。
四:構建InterstitialAd 對象並設置其廣告單元ID
private InterstitialAd mInterstitialAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
}
}
此代碼會將InterstitialAd對象實例化併爲其分配廣告單元ID。在活動有效期內,一個InterstitialAd對象就可用於請求並展現多個插頁式廣告,所以您只需構建該對象一次。
注意:咱們在上文使用的廣告單元ID 會返回測試廣告。您能夠在KeyMob官網爲本身的應用建立廣告單元。
五:請求廣告
AdRequest adRequest = new AdRequest.Builder().addTestDevice("YOUR_DEVICE_HASH").build();
mInterstitialAd.loadAd(adRequest);
要請求插頁式廣告,這些代碼會構建AdRequest,並將其傳遞至loadAd。插頁式廣告是異步加載的,所以在須要廣告前提早請求廣告十分重要。
構建請求的調用包括addTestDevice方法。開發和測試應用時,請務必請求測試廣告。請參閱咱們的廣告定位指南,詳細瞭解實現此操做的最佳方法。
六:肯定廣告加載後,將其展現出來
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
}
此處的代碼會檢查插頁式廣告是否已加載,若是已加載,則會展現該廣告。
注意,show()不是阻塞調用。即便插頁式廣告控制了設備屏幕,您的應用也會繼續執行。展現插頁式廣告時,請務必暫停全部音頻輸出或密集計算(例如遊戲主循環)。
七:插頁式廣告展現位置和時間
如上文提到的,在應用內選擇恰當的位置展現插頁式廣告十分重要。爲了儘量減小廣告對用戶體驗產生的影響,請儘可能選擇應用流程中的正常轉換點。您能夠查看插頁式廣告指南頁面,獲取這方面的一些建議。
八:橫幅廣告
橫幅廣告佔據應用屏幕的一部分空間,一般是在應用的XML佈局文件內定義,而後會在相應活動或片斷的Java代碼內加載。
例如,如下是一個很是簡單的佈局文件,包含「Hello World」TextView以及屏幕底部的橫幅廣告:
1:activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<TextView android:text="@string/hello_world"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<com.Google.android.gms.ads.AdView
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>
</RelativeLayout>
此文件的如下兩個部分與橫幅廣告有關:
1:添加到RelativeLayout標記中的額外命名空間,它包含AdView所用的屬性。
2:AdView標記:定義佈局內的橫幅廣告位置和特色。
注意,ads屬性存在於AdView標記中。尺寸是由一種屬性定義的,而廣告單元 ID 則是由另一種屬性定義的。
2:加載橫幅廣告
AdView mAdView = (AdView) findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().addTestDevice("YOUR_DEVICE_HASH").build();
mAdView.loadAd(adRequest);
此代碼常常置於某項活動或片斷的onCreate方法中,可用於定位佈局中的橫幅廣告、構建 AdRequest,以及加載廣告。
注意,addTestDevice調用在此處的做用與其在上述插頁式廣告示例中的做用同樣。
3:橫幅廣告投放位置
肯定橫幅廣告在應用中的投放位置時,您須要考慮一些重要事項。例如:
1:選擇合適的尺寸。橫幅廣告有多種尺寸,所以請務必針對佈局和目標設備選擇恰當的尺寸。
2:廣告應投放在內容外部,而不是內容中。這有助於用戶區分廣告和應用內容。
3:廣告應遠離其餘互動元素。這能夠防止意外點擊。
4:與插頁式廣告不一樣,橫幅廣告是同步加載的。若是您經過調用loadAd請求橫幅廣告,那麼您必須在加載AdView的位置展現它。這有助於防止虛假展現,確保點擊率正確無誤。
5:若是某個廣告的顯示時間極可能會延長(例如,超過30秒),那麼在建立廣告單元 ID 時,您能夠將其設置爲自動刷新。
KeyMob移動廣告SDK集成起來很是精細與快捷,能夠經過簡單的操做輕鬆實現對多家廣告平臺的搭配使用。並能輔助開發者過市場審覈。KeyMob移動 廣告SDK是使用的遠程管理,經過雲端集成使您隨時切換廣告平臺,包括開發時沒計劃的用的平臺,後面也照樣可使用,無需修改產品;android