Google Mobile Ads — 这是什么,广告SDK与变现

作者: IT Sectr 发布日期: 2026-04-30 阅读时间: 10 分钟

Google Mobile Ads — 是Google用于在移动应用中展示广告的SDK,包括AdMob和Google Ad Manager。该SDK支持所有主要格式:横幅广告、插页式广告(interstitial)、奖励视频(rewarded)和原生广告。Google Mobile Ads SDK每年处理超过1万亿次广告请求,并用于80%具有广告变现的应用。根据Google AdMob Documentation, 2025的数据,正确集成后每用户平均收入为每月$0.50-2.00。

要点

  • Google Mobile Ads — 通过AdMob和Ad Manager在移动应用中展示广告的SDK
  • 格式 — 横幅、interstitial、rewarded、原生广告和App Open Ads
  • AdMob — 自动填充广告位以变现应用的平台
  • Ad Manager — 面向大型发布商的自有广告活动高级平台
  • 中介 — 连接多个广告网络以增加收入的技术

什么是Google Mobile Ads?

Google Mobile Ads — 是Google面向移动应用的广告平台,提供用于展示广告的SDK和收入分析工具。该平台包括两个主要系统:AdMob(面向独立开发者)和Google Ad Manager(面向拥有直接广告活动的大型发布商)。两个系统使用相同的Google Mobile Ads SDK,简化了平台之间的迁移。

Google Mobile Ads 的工作原理基于实时竞价(RTB — Real-Time Bidding)。当应用请求广告展示时,SDK向Google服务器发送请求,算法在其中分析用户画像、应用上下文和可用广告活动。竞价胜出者在100-300毫秒内确定——广告商出价越高,开发者收入越大。根据Google(2025)的数据,Android应用的平均eCPM为$5-15。

eCPM(effective Cost Per Mille)——变现的关键指标,显示每1000次展示的收入。eCPM取决于用户地区(美国和欧洲较高,亚洲较低)、广告格式(奖励视频eCPM为$10-30,横幅为$0.50-2)和一年中的时间(12月eCPM高出30-50%)。Google Mobile Ads SDK通过竞价为最大eCPM自动优化展示。

广告格式:横幅、interstitial、rewarded和原生

横幅广告 — 固定尺寸的矩形区块(320x50 — 标准,320x100 — 大,300x250 — 中)。横幅位于屏幕底部或顶部,占用最小空间。缺点:eCPM低($0.50-2)和用户习惯化——横幅的点击率(CTR)为0.05-0.5%。横幅每30-60秒自动刷新,但Google建议为了保持用户体验,刷新间隔不应少于60秒。

Interstitial(插页式广告) — 在应用自然暂停时(游戏关卡之间、屏幕切换时)展示的全屏广告。Interstitial的eCPM为$3-15,但需要谨慎放置——频繁展示会使用户厌烦。Google限制频率:每分钟不超过一个interstitial。据Google称,正确放置的interstitial不会将用户留存率降低超过5%。

Rewarded(奖励广告) — 用户观看后获得奖励的视频(额外生命、金币、高级访问权限)。最昂贵的格式,eCPM为$10-30,用户参与度高——80%的用户同意观看奖励视频。重要提示:奖励必须对用户有意义,否则用户不会观看广告。Rewarded interstitial — 混合格式(无需强制观看即可获得奖励),自SDK 21.0.0起可用。

kotlin
// 加载和展示RewardedAd
class RewardedAdManager {

    private var rewardedAd: RewardedAd? = null

    fun loadAd(context: Context) {
        RewardedAd.load(
            context,
            "ca-app-pub-3940256099942544/5224354917",
            AdRequest.Builder().build(),
            object : RewardedAdLoadCallback() {
                override fun onAdLoaded(ad: RewardedAd) {
                    rewardedAd = ad
                }
                override fun onAdFailedToLoad(
                    error: LoadAdError
                ) {
                    Log.d("AdMob", error.message)
                }
            }
        )
    }
}

App Open Ads:启动时广告

原生广告 — 视觉上适应应用设计的广告:开发者控制标题、描述、图像和号召性用语按钮的位置。原生广告在所有格式中具有最高的CTR(0.5-2%),并且与应用UX的集成效果最佳。Google Mobile Ads SDK提供原生广告模板(NativeTemplate)或通过NativeAdOptions进行完全控制。ad_source_type格式显示原生广告素材来自哪个网络。

AdMob还是Ad Manager:如何选择

AdMob — Google面向移动应用的广告平台,面向独立开发者和小型工作室。AdMob提供通过竞价的自动广告位填充、通过Web界面的简单配置以及与30+广告网络的内置中介。资金提现门槛:$100。AdMob适用于90%的开发者,包括月收入达$100 000的中型工作室。

Google Ad Manager — 面向大型发布商的高级平台,支持自有广告活动(直接交易)、程序化担保和来源优先级排序。Ad Manager支持多个广告服务器、竞争性竞价(App Bidding)和为每个广告商提供的详细分析。接入Ad Manager需要月流量超过500万次展示。据Google称,与AdMob相比,Ad Manager可将大型发布商的收入提高15-30%。

标准AdMobAd Manager
受众独立开发者大型发布商
直接交易
App Bidding有限完全
流量门槛任意500万+/月展示
分析标准高级

从AdMob迁移到Ad Manager只需更改应用代码中的Ad Unit ID——SDK保持不变(Google Mobile Ads SDK)。Google建议从AdMob开始,在月收入达到$10 000+时考虑迁移到Ad Manager。App Bidding — Ad Manager的关键技术,允许所有广告网络在单个竞价中竞争,将eCPM提高10-40%。

中介:连接多个广告网络

中介(Ad Mediation) — Google Mobile Ads的技术,允许将多个广告网络连接到一个Ad Unit。当SDK请求广告时,它依次查询各个网络:首先Google Ads,然后是合作伙伴网络(Facebook Audience Network、Unity Ads、AppLovin、IronSource、Mintegral等),为此用户选择出价最高的网络。

Google Mobile Ads SDK通过适配器(adapters)支持30多个广告网络的中介,这些适配器作为单独的Gradle依赖项加载。每个适配器实现统一的Google接口,使SDK能够与任何网络一致地工作。据Google称,与仅使用AdMob相比,中介可将总广告收入提高15-50%。App Bidding — 中介的更高级版本,所有网络同时参与单个竞价,而非顺序进行。

kotlin
// 配置中介(build.gradle)
dependencies {
    implementation "com.google.android.gms:play-services-ads:23.3.0"
    // 中介适配器
    implementation "com.google.ads:mediation-facebook:6.17.0.0"
    implementation "com.google.ads:mediation-unity:4.10.0.0"
    implementation "com.google.ads:mediation-applovin:12.3.0.0"
}

// 初始化Mobile Ads SDK
MobileAds.initialize(this) {
    Log.d("AdMob",
        "Initialized: $it")
}

App Bidding:并行竞价

重要提示:中介会增加广告展示延迟,因为SDK会依次查询多个网络。对于横幅来说这不关键(可接受延迟——最多2秒),但对于interstitial和rewarded,超过1秒的延迟会降低展示概率(用户可能离开屏幕)。Google建议使用App Bidding代替顺序中介以最小化延迟。App Bidding在100-200毫秒内并行处理所有出价。

在Android项目中配置Google Mobile Ads

在Android应用中配置Google Mobile Ads始于在build.gradle中添加play-services-ads依赖并在Application类中初始化SDK。Google Mobile Ads SDK需要Android 5.0(API 21)和Google Play Services版本21.0.0+。建议尽早初始化SDK——在Application.onCreate()中——以便广告与应用启动并行加载。

初始化SDK后,开发者在AdMob或Ad Manager Web界面中创建Ad Unit,并将AdView嵌入到应用的布局中(用于横幅)或以编程方式加载InterstitialAd/RewardedAd。重要提示:开发时使用测试Ad Unit ID,发布后使用生产环境ID。Google Mobile Ads SDK根据AdMob控制台测试设备中添加的设备自动检测测试模式。

kotlin
// 在Application类中初始化SDK
class MyApplication : Application() {
    override fun onCreate() {
        super.onCreate()
        MobileAds.initialize(this)

        // 启用GDPR同意模式
        val params = RequestConfiguration.Builder()
            .setTagForUnderAgeOfConsent(false)
            .build()
        MobileAds.setRequestConfiguration(params)
    }
}

// XML中的内联横幅
// <com.google.android.gms.ads.AdView
//     android:id="@+id/adView"
//     android:layout_width="match_parent"
//     android:layout_height="wrap_content"
//     app:adUnitId="ca-app-pub-3940256099942544/6300978111"
//     app:adSize="BANNER" />

配置SDK和Ad Units后,开发者必须在应用中添加隐私政策——这是Google在Play Store中发布的强制条件。还需要集成UMP SDK(User Messaging Platform),用于收集来自欧洲经济区和英国的用户对数据处理同意。没有UMP SDK,Google可能限制个性化广告的展示,这将使eCPM降低40-60%。

用户隐私与GDPR

Google Mobile Ads要求遵守来自欧洲经济区(EEA)、英国、美国(CCPA/CPRA)和其他有数据立法地区的用户的隐私规则。主要工具是User Messaging Platform(UMP)SDK,它向用户显示同意对话框,用于收集和处理数据以个性化广告。

未获得用户的个性化同意,Google Mobile Ads SDK将仅展示非个性化广告,这会使eCPM降低40-60%。TCF v2.0(透明度与同意框架)——用于在广告系统之间传递同意信号的IAB Europe标准。Google Ad Manager自动支持TCF v2.0。对于AdMob,需要通过UMP SDK与参数FORMS_PUBLISHER_ID进行集成。

kotlin
// UMP SDK用户同意请求
val consentInfo = UserMessagingPlatform.getConsentInformation(this)

consentInfo.requestConsentInfoUpdate(
    context,
    ConsentRequestParameters.Builder()
        .setTagForUnderAgeOfConsent(false)
        .build()
) { error ->
    if (error != null) return@requestConsentInfoUpdate

    if (consentInfo.isConsentFormAvailable()) {
        UserMessagingPlatform.loadAndShowConsentFormIfRequired(
            activity,
            activity.getOnConsentFormSuccess(),
            activity.getOnConsentFormFailure()
        )
    }
}

TCF v2.0与GDPR合规

附加要求:对于加州用户(CCPA),Google要求支持“不出售我的个人信息”选项。对于儿童(COPPA)——启用tagForChildDirectedTreatment。Google Play Store要求所有带广告的应用都有隐私政策,并在Google Play Console中提供链接。违反这些要求将导致广告展示被阻止或应用从Play Store中移除。

代码示例:在Kotlin中展示奖励视频

带有用户奖励处理的奖励广告集成的完整示例。应用在启动时加载奖励视频,在点击“获取奖励”按钮时展示,并在完全观看后向用户发放金币。代码使用协程进行异步加载,并检查如果用户已收到奖励则不展示广告(防止重复奖励)。

kotlin
class RewardViewModel : ViewModel() {

    private var rewardedAd: RewardedAd? = null
    private val _rewardEarned = MutableLiveData<Boolean>(false)
    val rewardEarned: LiveData<Boolean> = _rewardEarned

    fun loadRewardedAd(context: Context) {
        RewardedAd.load(context, AD_UNIT_ID,
            AdRequest.Builder().build(),
            object : RewardedAdLoadCallback() {
                override fun onAdLoaded(ad: RewardedAd) {
                    rewardedAd = ad
                }
            }
        )
    }

    fun showAd(activity: Activity) {
        rewardedAd?.show(activity, {
            // 用户获得奖励
            _rewardEarned.postValue(true)
            addCoins(100)
            loadRewardedAd(activity) // Preload next
        })
    }
}

奖励广告的最佳实践:在关闭当前广告后立即预加载下一个广告(用户无需等待加载)。仅在奖励明确的上下文中展示奖励视频(例如“观看广告赚取100金币”按钮)。Google禁止在用户未明确请求的情况下展示奖励广告(禁止自动播放)。检查onUserEarnedReward回调——仅在其后发放奖励。

优化广告收入的建议

优化Google Mobile Ads的收入始于正确选择广告格式。横幅(用于稳定的后台收入)和奖励视频(用于活跃互动)的组合可提供最大总收入。仅在自然暂停时使用interstitial——每会话不超过3-4次。Firebase的Google Analytics可让您跟踪哪些屏幕带来最大收入以及用户最常在何处关闭广告。

第二个重要因素是中介。通过AdMob中介连接3-5个广告网络。据Google称,带有中介的应用收入高出30%。App Bidding(可用于Ad Manager和部分AdMob)由于同时竞价可额外提高10-40%。广告展示位置的A/B测试:在不同用户细分群体中测试横幅的不同位置(上/下、左/右)和interstitial的频率。

第三个因素是地理位置定位。美国、加拿大和澳大利亚的eCPM比印度或印度尼西亚高出3-5倍。如果您的应用在低eCPM地区受欢迎,Google建议使用来自这些地区的网络(例如印度的InMobi)进行waterfall中介。设置频率上限(frequency cap):每2分钟不超过1次interstitial,每小时不超过5次奖励视频——这可以降低用户对广告的疲劳感。

常见问题

2026年如何通过Google Mobile Ads赚钱?

正确集成后每用户平均收入为每月$0.50-2.00。使用组合格式:横幅用于基础收入,奖励视频用于主动变现,interstitial用于自然暂停。务必连接中介和用于GDPR的UMP SDK。最大收入来自美国和欧洲的用户。

Google对在应用中展示广告有哪些要求?

主要要求:AdMob账户、应用中的隐私政策、用于收集欧洲经济区用户同意的UMP SDK集成、Google Play Console中的应用年龄评级。Google Play Store要求所有带广告的应用在发布时注明,并遵守Google Ads不可接受内容政策。

什么是App Bidding?与中介有何不同?

App Bidding是所有广告网络同时参与广告展示竞价的技术。胜出者在100-200毫秒内确定。与顺序中介(网络逐一查询)不同,App Bidding可将收入提高10-40%并减少展示延迟。App Bidding可在Google Ad Manager和部分AdMob中使用。

为什么我的eCPM很低?

低eCPM可能是由以下原因造成的:用户地区(亚洲和非洲eCPM较低)、不正确的格式(横幅收入低于奖励视频)、缺乏中介(仅使用AdMob)、UMP配置不正确(未获得个性化同意)或广告拦截器比例过高。检查AdMob分析并配置App Bidding。

可以根据COPPA向儿童展示广告吗?

可以,但有约束。应用必须在RequestConfiguration中激活tagForChildDirectedTreatment(true)。Google将仅展示安全的非个性化广告。儿童应用的eCPM低60-80%。在Google Play Console中必须指定应用的目标受众。违反COPPA——AdMob账户被屏蔽。

总结

  • Google Mobile Ads — 通过AdMob和Ad Manager变现应用的SDK,支持所有广告格式
  • 格式 — 横幅(eCPM $0.5-2)、interstitial($3-15)、rewarded($10-30)和原生广告(CTR 0.5-2%)
  • AdMob — 面向独立开发者,自动填充广告位并内置中介
  • Ad Manager — 面向大型发布商,支持直接交易和完整App Bidding
  • 中介 — 连接3-5个广告网络可将收入提高15-50%
  • GDPR — 必须集成UMP SDK以收集欧洲经济区用户同意
  • 优化 — 格式组合、中介、A/B测试和地理位置定位可最大化收入

我们将开发一款交钥匙移动应用程序

IT Sectr自2017年以来为初创企业和企业打造iOS和Android应用程序。我们将为您提供咨询并提出最佳解决方案。

讨论项目

另请阅读