Android App 设置 Google AdMob 广告

更新日期: 2023-06-14 阅读次数: 9501 字数: 584 分类: Android

前提条件

需要应用先上架 Google Play.

获取 APP ID 及 广告单元 ID

登陆 AdMob 后台,https://apps.admob.com/v2/home

  • 选择要添加 AdMob 广告的应用,打开“广告单元”菜单
  • 添加广告单元,或者打开已有的广告单元
  • 在实现说明中,获取应用 ID 及广告单元 ID

引入 AdMob SDK

即,Google Mobile Ads SDK

参考文档:

https://developers.google.com/admob/android/quick-start?hl=zh-CN#import_the_mobile_ads_sdk

在 app-level build.gradle 的 dependencies 添加依赖:

  implementation 'com.google.android.gms:play-services-ads:22.1.0'

注意,参考上面链接换成最新的 admob sdk,否则会报错,类似:

com.google.android.gms:play-services-ads version 18.3.0 has been reported as problematic by its author and will block publishing of your app to Play Console

在 AndroidManifest.xml 中设置 AdMob App ID

<manifest>
    <application>
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
    </application>
</manifest>

应用 ID,可以在 Admob 的具体应用的应用设置中找到。

初始化 Mobile Ads SDK

kotlin 代码。

setContentView 中进行初始化:

MobileAds.initialize(this) {}

需要引入

import com.google.android.gms.ads.MobileAds;

引入横幅广告

layout 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>

这个 adUnitId 是测试 ID,在调试时,需要使用这个。只有发布时才能使用真实广告单元 ID。

加载广告:

// 依赖
import com.google.android.gms.ads.AdRequest
import com.google.android.gms.ads.AdView

// 添加属性
lateinit var mAdView : AdView

// 加载广告
mAdView = findViewById(R.id.adView)
val adRequest = AdRequest.Builder().build()
mAdView.loadAd(adRequest)

adSize 的值

SMART_BANNER。

自适应横幅广告与智能横幅广告的区别?因为文档中说自适应横幅广告将替代智能横幅广告。

智能横幅可实现三种广告高度:

  • 广告高度 32 dp,屏幕高度 ≤ 400 dp
  • 广告高度 50 dp,屏幕高度 > 400 dp 且 ≤ 720 dp
  • 广告高度 90 dp,屏幕高度 > 720 dp

自适应横幅广告参考 https://developers.google.com/admob/android/banner/adaptive

优化了智能横幅只能三种固定高度的问题。但是看起来实现太复杂,所以还是使用智能横幅 SMART_BANNER 吧。

如何自动切换 adUnitId

在 debug 和 release 时,使用不同的 adUnitId。

参考:Debug 和 Release 版本自动切换不同的 AdMob ad unit id 配置

注意:一定不用忘了发布 release 版时切换为自己的广告 ID,否则用户看到的也是 test ad ... 我就犯过这个错误。。。

实际广告效果

添加测试广告代码之后,显示效果如下:

Android App 设置 Google AdMob 广告

真机不显示正式广告

但是,我换成正式广告 ID 之后,发现 AdMob 广告在真机上无法显示

微信关注我哦 👍

大象工具微信公众号

我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式

tags: Google AdMob 广告 Android 广告平台

谈笑风生

cocos

你好,请教个问题哈,我现在接入了全屏广告和视频广告,不开 xxx 测试广告 都显示不了,您没有这问题吗?有可能是什么问题您知道吗

大象

没有遇到过,我这里测试广告任何时候都能显示。。。