介紹
AdMob在一個(gè)平臺(tái)中整合了各種一流的技術(shù),讓您既可以深入了解您的用戶群,又能實(shí)現(xiàn)廣告收入的最大化。您不必再使用多種工具,也不必投入寶貴的開(kāi)發(fā)資源來(lái)開(kāi)發(fā)自己的解決方案。
詳見(jiàn)Google AdMob官網(wǎng)
接入指南
下載Google Repository
SDK Manager
在Android SDK Manager窗口中,選擇Extras文件夾下的Google Repository,然后按**Install Packages(安裝程序包)**并接受許可協(xié)議以開(kāi)始下載。如果**Install Packages(安裝程序包)**按鈕不能使用,請(qǐng)不要擔(dān)心。這恰恰說(shuō)明您已經(jīng)擁有最新版本,因此無(wú)需在SDK Manager中進(jìn)行任何操作。
國(guó)內(nèi)特色問(wèn)題
Android SDK更新相關(guān)問(wèn)題可以參考這里
對(duì)于上文提到的Google Reponsitory,可通過(guò)百度云盤(pán)下載獲取,下載解壓后將解壓出的整個(gè)文件夾復(fù)制或者移動(dòng)到y(tǒng)our sdk根目錄下下,如果已經(jīng)存在extras文件夾就替換掉。
Android Studio/Gradle(強(qiáng)烈推薦)
添加dependencies依賴(通常是在app/build.gradle中定義),可以參考app/build.gradle
dependencies{
compile'com.google.android.gms:play-services-ads:9.0.0'
}
Eclipse
注意:如果開(kāi)發(fā)者是使用Android Studio,可以跳過(guò)本節(jié)
1. 把 <android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/ 下的導(dǎo)入到當(dāng)前開(kāi)發(fā)項(xiàng)目即可。
2. 在AndroidManifest.xml中添加下述內(nèi)容
3. <!-- Include required permissions for Google Mobile Ads to run-->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application android:label="@string/app_name" >
...
<!--This meta-data tag is required to use Google Play Services.-->
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<!--Include the AdActivity configChanges and theme. -->
<activity android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|
uiMode|screenSize|smallestScreenSize"
android:theme="@android:style/Theme.Translucent" />
</application>
4. 在proguard.pro中添加下述內(nèi)容
5. -keep class * extends java.util.ListResourceBundle {
protected java.lang.Object[][] getContents();
}
# Keep SafeParcelable value, needed for reflection. This is required to support backwards
# compatibility of some classes.
-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
public static final *** NULL;
}
# Keep the names of classes/members we need for client functionality.
-keep @interface com.google.android.gms.common.annotation.KeepName
-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
@com.google.android.gms.common.annotation.KeepName *;
}
# Needed for Parcelable/SafeParcelable Creators to not get stripped
-keepnames class * implements android.os.Parcelable {
public static final ** CREATOR;
}
# Needed when building against pre-Marshmallow SDK.
-dontwarn android.security.NetworkSecurityPolicy
# Keep metadata about included modules.
-keep public class com.google.android.gms.dynamite.descriptors.** {
public <fields>;
}
# Keep the implementation of the flags api for google-play-services-flags
-keep public class com.google.android.gms.flags.impl.FlagProviderImpl {
public <fields>; public <methods>;
}
測(cè)試
展示測(cè)試廣告
在開(kāi)發(fā)階段,建議使用測(cè)試廣告以避免產(chǎn)生非法展示,只需在廣告請(qǐng)求加上HASH_ID,代碼如下:
AdRequest request=
AdRequest.newBuilder().testDeviceId("YOUR_HASH_ID").put("YOUR_PUB").build();
其中YOUR_HASH_ID可以在設(shè)備首次加載廣告時(shí),在日志中獲取,如下圖:
測(cè)試廣告截圖
如果一切順利,測(cè)試廣告會(huì)如下面截圖所示:
·橫幅廣告
·插屏廣告
后續(xù)步驟
·查看SDK初始化開(kāi)始SDK接入
相關(guān)內(nèi)容
Admob
官網(wǎng):http://www.google.cn/admob/
幫助中心:https://support.google.com/admob#topic=7383088
政策與規(guī)范:https://support.google.com/admob/answer/6128543?hl=zh-Hans&ref_topic=2745287
Firebase
官網(wǎng):https://firebase.google.com/
幫助文檔:https://firebase.google.com/docs/
Google Play
GP管理中心:https://play.google.com/apps/publish/?hl=zh-CN
GP幫助文檔:https://support.google.com/googleplay/android-developer/?hl=zh-Hans#topic=3450769
Android管理中心:https://developer.android.com