前言
可以参考官方文档,当然嫌费劲的也可以跟着我一步一步实现。
附上官方文档地址:https://developers.google.com/admob/android/quick-start?hl=zh-CN#import_the_mobile_ads_sdk
步骤
-
第一步:
注册AdMob。
地址:http://www.google.cn/admob/platform.html
-
第二步:登陆,并注册应用。
地址:https://support.google.com/admob/answer/2773509?hl=zh-Hans
如图:
-
-
- 然后下一步,告知你一个ID,然后下一步,选择你需要的广告形式。横幅、插页式还是激励广告式。我的Demo式横幅式的。
- 横幅式举例。填写广告单元名称。随便写,方便以后查找的。高级设置里面能选择广告类型等。
-
其中的这两个值需要在代码中使用。
第三步:配置相关信息
-
项目级 build.gradle 示例
allprojects {
repositories {
google()
jcenter()
}
}
- 应用级 build.gradle 示例
dependencies {
...
implementation 'com.google.android.gms:play-services-ads:17.2.0'
}
-
AndroidManifest.xml
放第一个ID,就是有安卓小人儿的那个ID
<manifest>
<application>
<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="[ADMOB_APP_ID_1]"/>
</application>
</manifest>
第四步:代码初始化
-
初始化 MobileAds
建议放在Application中。和清单文件里面的ID是相同的。第一个ID,有安卓小人儿的ID。
MobileAds.initialize(this,"YOUR_ADMOB_APP_ID_1");
- 布局文件:
这里面的ID是测试的广告单元ID。因为在开发过程中启用测试广告非常重要,这样您就可以在不向 Google 广告客户收费的情况下点击广告。如果您在未处于测试模式的情况下点击过多广告,则可能会导致您的帐号因为无效活动而被举报。
如果你调试成功之后,可替换成正式的ID,就是第二个ID----横幅广告的单元ID了。
<com.google.android.gms.ads.AdView xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
ads:adSize="BANNER"
ads:adUnitId="ca-app-pub-3940256099942544/6300978111"></com.google.android.gms.ads.AdView>
PS:不同的广告单元,测试的ID不相同,如下:
| 广告类型 | 广告单元ID |
| 横幅广告 | ca-app-pub-3940256099942544/6300978111 |
| 插页式广告 | ca-app-pub-3940256099942544/1033173712 |
| 插页式视频广告 | ca-app-pub-3940256099942544/8691691433 |
| 激励视频广告 | ca-app-pub-3940256099942544/5224354917 |
| 原生高级广告 | ca-app-pub-3940256099942544/2247696110 |
| 原生高级视频广告 | ca-app-pub-3940256099942544/1044960115 |
- Java代码:
public class HFAdActivity extends AppCompatActivity {
AdView mAdView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_hfad);
initAd();
}
private void initAd() {
//加载广告
mAdView = findViewById(R.id.adView);
AdRequest request = new AdRequest.Builder().build();
mAdView.loadAd(request);
}
}
- 广告事件:
mAdView.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
// Code to be executed when an ad finishes loading.
}
@Override
public void onAdFailedToLoad(int errorCode) {
// Code to be executed when an ad request fails.
Log.e("TAG", "errorCode:" + errorCode);
}
@Override
public void onAdOpened() {
// Code to be executed when an ad opens an overlay that
// covers the screen.
}
@Override
public void onAdLeftApplication() {
// Code to be executed when the user has left the app.
}
@Override
public void onAdClosed() {
// Code to be executed when the user is about to return
// to the app after tapping on an ad.
}
});
后记:
至于详细的广告样式等,大家可以去官网查看,比较详细。我只是提供一个简单的集成步骤,希望能帮助到大家。有不对的地方,欢迎留言指正!