中介

通过 AdMob 中介功能,您可以在您的应用中投放多个来源(包括 AdMob 广告联盟、第三方广告联盟和 AdMob 广告系列)的广告。AdMob 中介会将广告请求发送至多个广告联盟,以确保您找到最合适的广告联盟来投放广告,有助于最大限度提高您的填充率,增加您的收入。案例研究

本指南就将中介功能集成到 AdMob 应用提供了一站式指导。

前提条件

在为广告格式集成中介功能之前,您需要将相应广告格式集成到自己的应用中:

中介功能新手一枚?请阅读:

选择您的中介广告联盟

Google 中介支持 30 多个第三方广告联盟。要集成中介功能,您需要在以下几个地方做出更改:

  1. 第三方广告联盟的界面 - 注册使用第三方广告联盟,并在其前端创建展示位置。
  2. AdMob 界面 - 更新广告单元的中介设置以添加该广告联盟。此外,我们还建议您为支持广告联盟优化的广告联盟设置这一功能。
  3. 应用代码 - 更新您的应用,以添加该第三方广告联盟的 SDK 和适配器库,后者用于在 Google 和该第三方广告联盟之间建立通信,以便请求和投放广告。

在下面选择某个广告联盟即可开始。

广告联盟 横幅广告 插页式广告 激励视频广告 激励视频广告
(新 API)
原生高级广告 ANO 支持 自动数据
收集支持
开源且已标明版本
AdColony 特定国家/地区
AppLovin 特定国家/地区
Chartboost 特定国家/地区
Facebook 特定国家/地区
Fyber Marketplace 特定国家/地区
i-mobile 特定国家/地区
InMobi 特定国家/地区
ironSource 特定国家/地区
maio 全局
MoPub 特定国家/地区
myTarget 特定国家/地区
Nend 全局
Tapjoy 特定国家/地区
Unity Ads 特定国家/地区
Verizon Media 特定国家/地区
Vungle 特定国家/地区
非开源
AdFalcon 特定国家/地区
Flurry 特定国家/地区
Leadbolt 特定国家/地区
LG U+AD
MobFox 全局
Tencent GDT
Vpon
Zucks 特定国家/地区

开源且已标明版本的适配器

在上表中,如果适配器标有“开源且已标明版本”,则表示该适配器源代码会在 Google 的 GitHub 代码库中开源发布,方便您在需要时自行调试相关问题。

这也意味着,Google 的 Bintray 代码库中会有已标明版本的、针对第三方广告联盟特定版本 SDK 构建的适配器版本。只需对应用的 Podfile 做一行更改,您还可以将这些适配器集成到应用中。有关详情,请点击查阅特定广告联盟的指南。

适配器版本控制

对于已标明版本的适配器,其适配器版本控制策略为 <third-party SDK version>.<adapter patch version>。例如,如果广告联盟发布新的 SDK 版本 1.2.3,那么在针对该新版 SDK 进行测试后,它将向 Bintray 发布新的适配器版本 1.2.3.0

如果需要在第三方 SDK 版本的生命周期之外进行适配器更新,则补丁程序版本号会增加。比如,适配器版本 1.2.3.0 的问题修复将在版本 1.2.3.1 中发布。

广告联盟优化 支持

在为中介配置多个广告联盟时,您必须设置这些广告联盟各自的每千次展示费用,以指定向它们发送请求的顺序。这可能难以管理,因为广告联盟的效果会随着时间的推移而出现变化。

广告联盟优化 (ANO) 功能可自动处理中介链订购流程,能让您从中介链上的所有广告联盟中获得最高的每千次展示费用,从而最大程度提升收入。

上面的中介广告联盟表使用了 广告联盟优化 支持的以下值:

广告联盟优化 支持 具体含义
Country-specific 系统会自动代表您按国家/地区更新有效每千次展示费用值。此为最佳优化类型。
Global 系统会自动代表您更新单一全局有效每千次展示费用值。
None 您必须手动配置该广告联盟的有效每千次展示费用值。

有关如何为该广告联盟配置 广告联盟优化 的详情,请点击查阅特定广告联盟的指南。

自定义事件

如果您未在上面的列表中找到某个广告联盟,则可以使用自定义事件自行编写与相应广告联盟集成的代码。如需详细了解如何创建自定义事件,请参阅自定义事件

检查 adNetworkClassName 的值

每个广告格式类在 GADResponseInfo 对象上都具有一个 adNetworkClassName 属性,该属性可返回提取了当前广告的广告联盟的类名称。只有在广告成功加载后,此属性才具有值。

下面是一些示例代码,这些代码记录了每种广告格式的广告联盟类名称。

Swift

func adViewDidReceiveAd(_ bannerView: GADBannerView) {
      print("Banner adapter class name: \(bannerView.responseInfo.adNetworkClassName)")
    }
    

Objective-C

- (void)adViewDidReceiveAd:(GADBannerView *)bannerView {
      NSLog(@"Banner adapter class name: %@", bannerView.responseInfo.adNetworkClassName);
    }
    

插页式广告

Swift

func interstitialDidReceiveAd(_ interstitial: GADInterstitial) {
      print("Interstitial adapter class name: \(interstitial.responseInfo.adNetworkClassName)")
    }
    

Objective-C

- (void)interstitialDidReceiveAd:(GADInterstitial *)interstitial {
      NSLog(@"Interstitial adapter class name: %@", interstitial.responseInfo.adNetworkClassName);
    }
    

激励视频广告

Swift

func rewardBasedVideoAdDidReceive(_ rewardBasedVideoAd: GADRewardBasedVideoAd) {
      print("Rewarded video adapter class name: \(rewardBasedVideoAd.adNetworkClassName)")
    }
    

Objective-C

-(void)rewardBasedVideoAdDidReceiveAd:(GADRewardBasedVideoAd *)rewardBasedVideoAd {
      NSLog(@"Rewarded video adapter class name: %@", rewardBasedVideoAd.adNetworkClassName);
    }
    

原生广告

Swift

func adLoader(_ adLoader: GADAdLoader,
                  didReceive nativeAd: GADUnifiedNativeAd) {
      print("Native adapter class name: \(nativeAd.responseInfo.adNetworkClassName)")
    }
    

Objective-C

-(void)adLoader:(GADAdLoader *)adLoader
        didReceiveUnifiedNativeAd:(GADUnifiedNativeAd *)nativeAd {
      NSLog(@"Native adapter class name: %@", nativeAd.responseInfo.adNetworkClassName);
    }
    

有关详情,请参阅检索有关广告响应的信息

将位置信息传递给中介广告联盟

除非您在广告请求中明确提供位置信息,否则 Google 移动广告 SDK 不会将其转发给中介广告联盟。如需详细了解如何在广告请求中提供位置信息,请参阅定位指南

对于 AdMob 中介里所使用的横幅广告单元,请确保停用所有第三方广告联盟界面中的刷新功能。这可防止重复刷新,因为 AdMob 还会根据横幅广告单元的刷新频率触发刷新。

激励广告中介

我们建议您通过在 AdMob 界面中设置奖励值来替换所有默认的奖励值。为此,请选中应用于中介组中的所有广告联盟复选框,使奖励在所有广告联盟中保持一致。某些广告联盟根本不提供奖励值或类型。通过替换奖励值,无论由哪个广告联盟投放广告,奖励均保持一致。

如需详细了解如何在 AdMob 界面中设置奖励值,请参阅制作激励广告单元

原生广告中介

以下是实现原生中介时可以考虑的一些最佳做法。

原生广告展示政策
每个广告联盟都有自己的政策。请注意,使用中介功能时,您的应用仍需遵守提供相应广告的中介广告联盟的政策。
在发出请求时避免使用 GADMultipleAdsAdLoaderOptions
涉及多个原生广告的请求仅会投放 Google 广告。多个原生广告功能不支持中介。