将 AppLovin 与中介集成

本指南介绍了如何使用 Google 移动广告 SDK 通过中介加载和展示来自 AppLovin 的广告,其中涵盖了出价集成和瀑布流集成。本指南还介绍了如何将 AppLovin 添加到广告单元的中介配置中,以及如何将 AppLovin SDK 和适配器集成到 Flutter 应用中。

支持的集成和广告格式

AppLovin 的 AdMob 中介适配器具有以下功能:

集成
出价
瀑布流
表现形式
横幅  1
插页式广告
激励广告

Waterfall 仅支持 320x50 和 728x90 横幅广告尺寸。出价功能不支持横幅广告。

要求

  • 最新版 Google 移动广告 SDK
  • Flutter 3.7.0 或更高版本
  • 如需在 Android 上部署,则要求:
    • Android API 级别 23 或更高级别
  • 如需在 iOS 上部署,则要求:
    • iOS 部署目标版本为 12.0 或更高版本
  • 已配置 Google 移动广告 SDK 的 Flutter 项目,该项目应正常运行。如需了解详情,请参阅使用入门
  • 完成中介入门指南阅读。

第 1 步:在 AppLovin 界面中设置配置

注册登录您的 AppLovin 账号。

如需设置 AdMob 广告单元,您需要 AppLovin SDK 密钥报告密钥。如需查找这些值,请前往 AppLovin 界面 > 账号 > 密钥,即可查看这两个值。

如果您只打算集成出价,可以继续配置中介设置

选择用于中介的应用

出价

出价集成不需要执行此步骤。

瀑布

在 AppLovin 界面上,选择变现部分下的应用,以查看已注册的应用。从可用应用列表中选择要与中介一起使用的应用。

创建区域

出价

出价集成不需要执行此步骤。

瀑布

在 AppLovin 界面上,选择变现部分下的可用区,即可查看已注册的可用区 ID。如果您已为应用创建所需的区域,请直接跳到第 2 步。 如需创建新的地区 ID,请点击创建地区

输入广告资源 ID的名称,选择 Android 作为平台,然后选择广告类型

选择固定 CPM由 AppLovin 优化,为广告资源配置定价。您可以针对固定 CPM 选项按国家/地区配置 CPM。然后,点击保存

Android

iOS

创建区域后,您可以在 Zone ID 列下找到区域 ID。

Android

iOS

更新 app-ads.txt

应用授权卖方 (app-ads.txt) 是一项 IAB Tech Lab 计划,有助于确保只通过您认定的授权渠道销售您的应用广告资源。为避免损失大量广告收入,您需要实施 app-ads.txt 文件。 如果您尚未完成此项设置,请为您的应用设置 app-ads.txt 文件

若要为 Applovin 实现 app-ads.txt,请将 AppLovin 添加到您的 app-ads.txt 文件

启用测试模式

按照 AppLovin 的 MAX 测试模式指南中的说明启用 AppLovin 测试广告。

第 2 步:在 AdMob 界面中设置 AppLovin 需求

为广告单元配置中介设置

Android

如需查看相关说明,请参阅 Android 指南中的第 2 步。

iOS

如需查看相关说明,请参阅 iOS 指南中的第 2 步。

将 AppLovin Corp. 添加到 GDPR 和美国州级法规广告合作伙伴名单中

请按照欧洲法规设置美国州级法规设置中的步骤,将 Applovin Corp. 添加到 AdMob 界面内的欧洲法规和美国州级法规广告合作伙伴名单中。

第 3 步:导入 AppLovin SDK 和适配器

通过 pub.dev 进行集成

在软件包的 pubspec.yaml 文件中添加以下依赖项,并确保使用的是 Applovin SDK 和适配器的最新版本:

dependencies:
  gma_mediation_applovin: ^

手动集成

下载适用于 Applovin 的最新版 Google 移动广告中介插件,提取下载的文件,并将提取的插件文件夹(及其内容)添加到您的 Flutter 项目中。然后,通过添加以下依赖项,在 pubspec.yaml 文件中引用该插件:

dependencies:
  gma_mediation_applovin:
    path: path/to/local/package

第 4 步:在 AppLovin SDK 上实现隐私设置

为了遵守 Google 的《欧盟地区用户意见征求政策》,您必须向欧洲经济区 (EEA)、英国和瑞士的用户披露某些信息,并征得他们同意,才能在法律要求的情况下使用 Cookie 或其他本地存储空间,以及收集、分享和使用个人数据以实现广告个性化。此政策反映了欧盟《电子隐私指令》和《一般数据保护条例》(GDPR) 的要求。您要负责验证用户意见是否已传播到中介链中的每个广告来源。Google 无法自动将用户意见传递给此类广告资源网。

AppLovin 支持从共享偏好设置中读取意见征求字符串,并相应地设置意见征求状态。

如果您使用的 CMP 不会将意见征求字符串写入共享偏好设置,则可以使用 GmaMediationApplovin.setHasUserConsent()GmaMediationApplovin.setIsAgeRestrictedUser() 方法。以下示例代码展示了如何将用户意见信息传递给 AppLovin SDK。您必须在初始化 Google 移动广告 SDK 之前设置这些选项,以确保它们能够正确转发到 AppLovin SDK。

import 'package:gma_mediation_applovin/gma_mediation_applovin.dart';
// ...

GmaMediationApplovin.setHasUserConsent(true);
GmaMediationApplovin.setIsAgeRestrictedUser(true);

如需了解详情,请参阅 AppLovin 的隐私设置

美国州级隐私保护法律

美国各州隐私保护法律要求向用户提供选择拒绝“出售”其“个人信息”(该法律中对这些术语做出了定义)的权利,“出售”方须在首页醒目位置提供“Do Not Sell My Personal Information”(不出售我的个人信息)链接,以供这些用户选择。美国州级隐私保护法律合规性指南可让您为 Google 广告投放启用受限的数据处理,但 Google 无法将此设置应用于您的中介链中的每个广告联盟。因此,您必须确定中介链中可能参与个人信息出售的每个广告联盟,并遵循这些广告联盟的指南来确保合规性。

适用于 AppLovin 的 Google 移动广告中介插件包含 GmaMediationApplovin.setDoNotSell() 方法。以下示例代码展示了如何将用户意见信息传递给 AppLovin SDK。必须在初始化 Google 移动广告 SDK 之前设置这些选项,以确保它们能正确转发到 AppLovin SDK。

import 'package:gma_mediation_applovin/gma_mediation_applovin.dart';
// ...

GmaMediationApplovin.setDoNotSell(true);

如需了解详情,请参阅 AppLovin 的隐私权文档

第 5 步:添加必需的代码

Android

AppLovin 集成不需要其他代码。

iOS

SKAdNetwork 集成

按照 AppLovin 的文档将 SKAdNetwork 标识符添加到项目的 Info.plist 文件中。

第 6 步:测试您的实现

启用测试广告

请务必为 AdMob 注册测试设备,并在 Applovin 界面中启用测试模式

验证测试广告

若要验证您是否能收到来自 Applovin 的测试广告,请在广告检查器中启用 single ad source testing(单个广告来源测试),并选择 Applovin (Bidding) and Applovin (Waterfall)(Applovin [出价] 和 Applovin [瀑布流])作为广告来源。

可选步骤

广告资源网专用参数

AppLovin 适配器支持将 AppLovinMediationExtras 对象传递给广告请求,以设置特定于广告联盟的参数。以下示例代码展示了如何使用 isMuted 参数停用视频广告中的音频:

AppLovinMediationExtras applovinExtras = AppLovinMediationExtras(isMuted: true)

AdRequest request = AdRequest(
    keywords: <String>['foo', 'bar'],
    contentUrl: 'http://foo.com/bar.html',
    mediationExtras: [applovinExtras],
);

优化

在启动 activity 中添加对 GmaMediationApplovin.initializeSdk('sdkKey') 的调用,可让 AppLovin 在应用启动后立即跟踪事件。

错误代码

如果适配器未能收到来自 AppLovin 的广告,发布商可以使用 ResponseInfo 来检查广告响应中归属于以下类的底层错误:

Android

com.google.ads.mediation.applovin.mediation.ApplovinAdapter
com.google.ads.mediation.applovin.AppLovinMediationAdapter

iOS

GADMAdapterAppLovin
GADMAdapterAppLovinRewardBasedVideoAd
GADMediationAdapterAppLovin

以下是当广告加载失败时,AppLovin 适配器会抛出的代码和随附的消息:

Android

错误代码 原因
-1009 至 -1、204 AppLovin SDK 返回了错误。如需了解详情,请参阅 AppLovin 的文档
101 所请求的广告尺寸与 AppLovin 支持的横幅尺寸不一致。
103 上下文为空。
104 AppLovin 出价令牌为空。
105 针对同一广告区请求了多个广告。AppLovin 每个广告资源只能一次加载 1 个广告。
106 广告尚无法展示。
108 AppLovin 适配器不支持所请求的广告格式。
109 上下文不是 Activity 实例。
110 服务器参数无效(例如 SDK 密钥为 null)。
112 用户是儿童。

iOS

错误代码 原因
-1009 至 -1、204 AppLovin SDK 返回了错误。如需了解详情,请参阅 AppLovin 的文档
101 所请求的广告尺寸与 AppLovin 支持的横幅尺寸不一致。
102 AdMob 界面中配置的 AppLovin 服务器参数缺失/无效。
103 未能展示 AppLovin 广告。
104 针对同一广告区请求了多个广告。AppLovin 每个广告资源只能一次加载 1 个广告。
105 找不到 AppLovin SDK 密钥。
107 出价令牌为空。
108 AppLovin 适配器不支持所请求的广告格式。
110 AppLovin 发送了成功的加载回调,但加载了零个广告。
111 无法检索 AppLovin SDK 的实例。
112 用户是儿童。
113 AppLovin SDK 共享实例尚未初始化。
114 AppLovin SDK 无法返回出价令牌。

AppLovin Flutter 中介适配器变更日志

版本 2.3.2

  • 使用 Google 移动广告 Flutter 插件 6.0.0 版构建和测试。

版本 2.3.1

  • 使用 Google 移动广告 Flutter 插件 6.0.0 版构建和测试。

版本 2.3.0

  • 使用 Google 移动广告 Flutter 插件 6.0.0 版构建和测试。

版本 2.2.1

  • 使用 Google 移动广告 Flutter 插件 6.0.0 版构建和测试。

版本 2.2.0

  • 使用 Google 移动广告 Flutter 插件 6.0.0 版构建和测试。

版本 2.1.0

  • 使用 Google 移动广告 Flutter 插件 5.3.1 版构建并测试。

版本 2.0.0

  • 使用 Google 移动广告 Flutter 插件 5.3.1 版构建并测试。

版本 1.2.0

  • 使用 Google 移动广告 Flutter 插件 5.1.0 版构建和测试。

版本 1.1.0

  • 使用 Google 移动广告 Flutter 插件 5.1.0 版构建和测试。

版本 1.0.0

  • 初始版本。
  • 使用 Google 移动广告 Flutter 插件 5.0.0 版构建和测试。