本指南介绍了如何使用 Google Mobile Ads Flutter Plugin 通过 中介加载和展示 来自 InMobi 的广告,其中涵盖了瀑布流集成和出价集成。本指南还介绍了如何将 InMobi 添加到广告单元的中介配置中,以及如何将 InMobi SDK 和适配器集成到 Flutter 应用中。
支持的集成和广告格式
| 集成 | |
|---|---|
| 出价 | |
| 瀑布流 | |
| 表现形式 | |
| 横幅 | |
| 插页式广告 | |
| 激励广告 | |
| 原生 | |
要求
- 最新版 Google Mobile Ads Flutter Plugin
- Flutter 3.7.0 或更高版本
- [适用于出价]:如需在出价中集成所有受支持的广告格式,请使用 Google 移动广告中介插件(适用于 InMobi)4.5.0 或更高版本(建议使用最新版本)
- 如需在 Android 上部署,则要求:
- Android API 级别 23 或更高级别
- 如需在 iOS 上部署,则要求:
- iOS 部署目标版本为 10.0 或更高版本
- 已配置 Google Mobile Ads Flutter Plugin 的正常运行的 Flutter 项目。如需了解详情,请参阅 设置 Google Mobile Ads Flutter Plugin。
- 如何设置中介
第 1 步:在 InMobi 界面中设置配置
注册 InMobi 账号。

账号验证完毕后,请登录。
添加应用
如需将应用添加到 InMobi 信息中心,请依次点击广告资源 > 广告资源设置 。

点击 Add Inventory (添加广告资源),然后从下拉菜单中选择 Mobile App (移动应用)渠道。

在搜索栏中输入已发布应用商店的 网址 ,然后从自动填充的结果中选择该应用。点击继续 。

如果您的应用未发布,请点击 Link manually (手动关联),然后输入所需详细信息。点击继续 。

查看应用和网站合规性 设置,然后点击 Save and Create Placements (保存并创建展示位置)。

展示位置
设置广告资源后,系统会将您重定向到展示位置创建工作流。

出价
选择广告单元的类型。然后,输入展示位置名称,分别为Audience Bidding(受众群体出价)和Partner(合作伙伴)选择On(开启)和Google Open Bidding(Google 公开出价),并填写表单的其余部分。完成后,点击 Create Placement (创建展示位置)。

瀑布流
选择广告单元的类型。然后,输入展示位置名称,为 Audience Bidding(受众群体出价)选择 Off(关闭),并填写表单的其余部分。完成后,点击 Create Placement (创建展示位置)。

创建展示位置后,系统会显示其详细信息。请记下展示位置 ID,该 ID 将用于设置 Ad Manager 广告单元。

账号 ID
您的 InMobi 账号 ID 位于财务 > 付款设置 > 付款信息 下。

查找 InMobi Reporting API 密钥
出价
出价集成不需要执行此步骤。
瀑布流
依次前往我的账号 > 账号设置 。前往 API Key (API 密钥)标签页,然后点击 Generate API Key (生成 API 密钥)。
选择需要密钥的用户的电子邮件地址 ,然后点击 Generate API Key (生成 API 密钥)。系统会生成一个文件,其中包含 API 密钥和用户名/登录名。

只有账号的发布商管理员才能为所有用户生成 API 密钥。如果您忘记了之前生成的 API 密钥,请将鼠标悬停在 API Key (API 密钥)标签页上的电子邮件地址上,以重置 API 密钥。

更新 app-ads.txt
应用授权卖方 app-ads.txt 是一项 IAB Tech Lab 计划,有助于确保只通过您认定的授权渠道销售您的
应用广告资源。为避免广告收入大幅损失,您需要实现 app-ads.txt 文件。
如果您尚未创建 app-ads.txt 文件,请立即为 Ad Manager 创建一个。
如需为 InMobi 实现 app-ads.txt,
请添加您的个性化代码段。
启用测试模式
仅针对所有实际展示或某些测试设备,为您的展示位置启用测试模式 。

第 2 步:在 Ad Manager 界面中设置 InMobi 需求
为广告单元配置中介设置
将 InMobi 添加到 GDPR 和美国州级法规广告合作伙伴名单中
请按照 欧洲法规设置 和 美国州级法规设置 中的步骤,将 InMobi 添加到 Ad Manager 界面内的欧洲法规和美国州级法规广告合作伙伴名单中。
第 3 步:导入 InMobi SDK 和适配器
通过 pub.dev 集成
在软件包的 pubspec.yaml 文件中添加以下依赖项,并确保使用的是 InMobi SDK 和适配器的最新版本:
dependencies:
gma_mediation_inmobi: ^2.0.1
手动集成
下载最新版 Google 移动广告中介插件(适用于
InMobi),
提取下载的文件,并将提取的插件文件夹
(及其内容)添加到您的 Flutter 项目中。然后,在 pubspec.yaml 文件中引用该插件,方法是添加以下依赖项:
dependencies:
gma_mediation_inmobi:
path: path/to/local/package
第 4 步:在 InMobi SDK 上实现隐私设置
欧盟地区用户意见征求和 GDPR
为了遵守 Google 欧盟地区用户意见征求政策,您必须向欧洲经济区 (EEA)、英国和瑞士的 用户做出某些披露,并征得 他们对以下事项的同意:在法律 要求的情况下使用 Cookie 或其他本地存储机制;收集、分享和使用个人数据以实现广告 个性化。此政策反映了欧盟电子隐私指令和《通用数据保护条例》(GDPR) 的要求。您要负责验证用户意见是否已传播到中介链中的每个广告来源。 Google 无法自动将用户的意见征求选择传递给此类广告联盟。
从 InMobi Flutter 中介插件 1.1.0 版开始, InMobi 会自动读取支持 Google 的额外意见征求规范( 包括 UMP SDK)的意见征求管理 平台设置的 GDPR 意见征求。如需了解详情,请参阅 InMobi 关于初始化 Android 和 iOS版 SDK 的 文档。
美国州级隐私保护法律
美国各州隐私保护法律要求向用户提供选择拒绝“出售”其“个人信息”(该法律中对这些术语做出了定义)的权利,“出售”方须在首页醒目位置提供“Do Not Sell My Personal Information”(不出售我的个人信息)链接,以供这些用户选择。美国州级隐私保护法律合规性指南可让您为 Google 广告投放启用受限的数据处理,但 Google 无法将此设置应用于您的中介链中的每个广告联盟。因此,您必须确定中介链中可能参与个人信息出售的每个广告联盟,并遵循这些广告联盟的指南来确保合规性。
Google 移动广告中介插件(适用于 InMobi)不支持将意见征求信息传递给 InMobi SDK。
第 5 步:添加所需的其他代码
Android
InMobi 集成不需要添加其他代码。
iOS
SKAdNetwork 集成
请按照 InMobi 的
文档
将 SKAdNetwork 标识符添加到项目的 Info.plist 文件中。
第 6 步:测试实现
启用测试广告
请务必 为 Ad Manager 注册测试设备 ,并在 InMobi 界面中启用测试模式。
验证测试广告
若要验证您是否能收到来自 InMobi 的测试广告,请在广告检查器中启用 single ad source testing (单个广告来源测试),并选择 InMobi (Bidding) and InMobi (Waterfall)(InMobi [出价] 和 InMobi [瀑布流])作为广告来源。
可选步骤
Android
权限
为了获得最佳性能,InMobi 建议您将以下可选权限添加到应用的 AndroidManifest.xml 文件中。
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
您可以选择将这些权限添加到 Plugins/Android/GoogleMobileAdsInMobiMediation/AndroidManifest.xml 文件中。
iOS
iOS 集成不需要执行其他步骤。
错误代码
如果适配器未能收到来自 InMobi 的广告,发布商可以使用
广告响应中归属于以下类的
ResponseInfo来检查
底层错误:
Android
com.google.ads.mediation.inmobi.InMobiAdapter
com.google.ads.mediation.inmobi.InMobiMediationAdapter
iOS
GADMAdapterInMobi
GADMediationAdapterInMobi
以下是当广告加载失败时,InMobi 适配器会抛出的代码和随附的消息:
Android
| 错误代码 | 原因 |
|---|---|
| 0-99 | InMobi SDK 错误。如需了解详情,请参阅代码 。 |
| 100 | Ad Manager 界面中配置的 InMobi 服务器参数缺失/无效。 |
| 101 | 未能初始化 InMobi SDK。 |
| 102 | 请求的广告尺寸与 InMobi 支持的横幅广告尺寸不符。 |
| 103 | 广告请求不是统一的原生广告请求。 |
| 104 | 尝试在未初始化 InMobi SDK 的情况下请求 InMobi 广告。从理论上讲,这种情况永远不会发生,因为适配器会在请求 InMobi 广告之前初始化 InMobi SDK。 |
| 105 | InMobi 的广告尚未准备好展示。 |
| 106 | InMobi 未能展示广告。 |
| 107 | InMobi 返回的原生广告缺少必需的素材资源。 |
| 108 | InMobi 的原生广告图片素材资源包含格式错误的网址。 |
| 109 | 适配器未能下载 InMobi 的原生广告图片素材资源。 |
iOS
| 错误代码 | 原因 |
|---|---|
| 101 | Ad Manager 界面中配置的 InMobi 服务器参数缺失/无效。 |
| 102 | InMobi 适配器不支持所请求的广告格式。 |
| 103 | 已为此网络配置加载 InMobi 广告。 |
| 其他 | InMobi SDK 返回了错误。如需了解详情,请参阅 IMRequestStatus.h。 |
InMobi Flutter 中介适配器变更日志
版本 2.0.2(正在开发中)
版本 2.0.1
- 将最低 Flutter 版本更新为 3.35.1
- 更新为支持 Google 移动广告 Flutter 插件 7.0.0 版
- 支持 inMobi Android 适配器 11.1.0.1 版。
- 支持 inMobi iOS 适配器 11.1.0.1 版。
- 使用 Google 移动广告 Flutter 插件 7.0.0 版构建和测试。
版本 2.0.0
- 支持 inMobi Android 适配器 11.1.0.0 版。
- 支持 inMobi iOS 适配器 11.1.0.0 版。
- 使用 Google 移动广告 Flutter 插件 6.0.0 版构建和测试。
版本 1.1.6
- 支持 inMobi Android 适配器 10.8.8.1 版。
- 支持 inMobi iOS 适配器 10.8.8.0 版。
- 使用 Google 移动广告 Flutter 插件 6.0.0 版构建和测试。
版本 1.1.5
- 支持 inMobi Android 适配器 10.8.8.0 版。
- 支持 inMobi iOS 适配器 10.8.8.0 版。
- 使用 Google 移动广告 Flutter 插件 6.0.0 版构建和测试。
版本 1.1.4
- 支持 inMobi Android 适配器 10.8.7.0 版。
- 支持 inMobi iOS 适配器 10.8.6.0 版。
- 使用 Google 移动广告 Flutter 插件 6.0.0 版构建和测试。
版本 1.1.3
- 支持 inMobi Android 适配器 10.8.3.1 版。
- 支持 inMobi iOS 适配器 10.8.3.1 版。
- 使用 Google 移动广告 Flutter 插件 6.0.0 版构建和测试。
版本 1.1.2
- 支持 inMobi Android 适配器 10.8.3.1 版。
- 支持 inMobi iOS 适配器 10.8.3.0 版。
- 使用 Google 移动广告 Flutter 插件 6.0.0 版构建和测试。
版本 1.1.1
- 支持 inMobi Android 适配器 10.8.2.0 版。
- 支持 inMobi iOS 适配器 10.8.2.0 版。
- 使用 Google 移动广告 Flutter 插件 6.0.0 版构建和测试。
版本 1.1.0
- iOS 插件现在是一个静态框架。
- 支持 inMobi Android 适配器 10.8.0.0 版。
- 支持 inMobi iOS 适配器 10.8.0.0 版。
- 使用 Google 移动广告 Flutter 插件 5.3.1 版构建和测试。
版本 1.0.0
- 初始版本。
- 支持 inMobi Android 适配器 10.6.7.1 版。
- 支持 inMobi iOS 适配器 10.7.2.0 版。
- 使用 Google 移动广告 Flutter 插件 5.1.0 版构建和测试。