中介

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

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

前提条件

初始化移动广告 SDK

本快速入门指南介绍了如何初始化移动广告 SDK。在初始化调用期间,中介和公开出价适配器也会初始化。请务必在初始化完成后再加载广告,以确保每个广告联盟完全参与第一个广告请求。

以下示例代码展示了如何在发出广告请求前检查每个适配器的初始化状态。

using GoogleMobileAds.Api;
using System.Collections.Generic;
...

public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    ...

    public void Start()
    {
        // Initialize the Mobile Ads SDK.
        MobileAds.Initialize((initStatus) =>
        {
            Dictionary<string, AdapterStatus> map = initStatus.getAdapterStatusMap();
            foreach (KeyValuePair<string, AdapterStatus> keyValuePair in map)
            {
                string className = keyValuePair.Key;
                AdapterStatus status = keyValuePair.Value;
                switch (status.InitializationState)
                {
                case AdapterState.NotReady:
                    // The adapter initialization did not complete.
                    MonoBehaviour.print("Adapter: " + className + " not ready.");
                    break;
                case AdapterState.Ready:
                    // The adapter was successfully initialized.
                    MonoBehaviour.print("Adapter: " + className + " is initialized.");
                    break;
                }
            }
        });
        ...
    }
}

选择您的中介广告联盟

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

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

首先,从下表中选择一个广告联盟,它将指导您完成上述更改。

广告联盟 横幅广告 插页式广告 激励广告 公开出价1 ANO 支持
不需要第三方 SDK
PubMatic 仅出价
开源且已标明版本
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 特定国家/地区

1 目前仅在有限范围内发布了 Beta 版。如需了解详情,请与您的客户经理联系。

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

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

这也意味着,Google 的 Bintray 代码库 (Android | iOS) 中会有已标明版本的、针对第三方广告联盟特定版本 SDK 构建的适配器版本。有关详情,请点击查阅特定广告联盟的指南。

适配器版本控制

对于已标明版本的适配器,其适配器版本控制策略为 <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 支持

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

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

上面的中介广告联盟表包含 ANO 支持的以下值:

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

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

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

公开出价问题排查

在集成需要其 SDK 的公开出价合作伙伴时,以下符号可以指明不当集成:

  • “公开出价”报告显示,向该合作伙伴发出的广告请求数量明显少于预期。
  • 第一个广告请求后的所有请求中的 a3p 参数缺失或过短(不超过 30 个字符)

请按照这份核对清单确保您的设置正确无误:

  • 在 AdMob 界面中,AdMob 广告单元定位的中介组含为第三方广告联盟配置的公开出价条目。
  • 在 AdMob 界面中,AdMob 广告单元属于您传递给 Google 移动广告 SDK 的 AdMob 应用 ID。
  • 您已初始化移动广告 SDK,并在加载广告前验证了适配器状态为 READY