将 InMobi 与中介集成

本指南适用于希望使用 Google 移动广告 SDK 通过中介加载和展示 InMobi 中的广告的发布商。

其中介绍了如何将 InMobi 添加到广告单元的中介配置、如何设置广告来源优化、,以及如何将 InMobi SDK 和适配器集成到Android 应用中。

支持的集成和广告格式

适用于 InMobi 的 Google AdMob 中介适配器具有以下功能:

集成
出价
瀑布
格式
横幅
插页式广告
激励广告
原生

要求

  • Android API 级别 19 或更高级别
  • 最新版 Google 移动广告 SDK

第 1 步:设置 InMobi

注册登录您的 InMobi 帐号。

添加应用

如需将应用添加到 InMobi 信息中心,请依次点击广告资源 > 广告资源设置

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

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

如果您的应用尚未发布,请点击手动关联,然后输入必要的详细信息。点击继续

查看应用与网站合规性设置,然后点击保存并创建展示位置

展示位置

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

选择横幅作为类型,然后点击添加展示位置。然后输入展示位置名称。完成后,点击创建展示位置按钮。

插页式广告

选择插页式作为类型,然后点击添加展示位置。然后输入展示位置名称。完成后,点击创建展示位置按钮。

激励广告

选择激励作为类型,然后点击添加展示位置。然后输入展示位置名称。完成后,点击创建展示位置按钮。

原生

选择原生作为类型,然后点击添加展示位置。然后输入展示位置名称。完成后,点击创建展示位置按钮。

创建展示位置后,系统即会显示其详细信息。请记下设置 ID,此 ID 将用于设置您的AdMob 广告单元。

帐号 ID

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

API 密钥

转到我的帐号 > 帐号设置。转到 API 密钥标签页,然后点击生成 API 密钥

选择需要该密钥的用户的电子邮件,然后点击生成 API 密钥。系统将生成包含 API 密钥和用户名/登录名的文件。

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

第 2 步:为广告单元 AdMob 配置中介设置

您需要将 InMobi 添加到广告单元的中介配置中。首先,登录您的 AdMob 帐号

转到“中介”标签页。如果您已有要修改的中介组,请点击该中介组的名称进行修改,然后直接跳到将 inMobi 添加为广告来源

要创建新的中介组,请选择创建中介组

选择广告格式和平台,然后点击继续

为中介组命名,然后选择要定位到的地理位置。接下来,将中介组状态设置为已启用。然后点击添加广告单元

将此中介组与您的一个或多个现有 AdMob 广告单元相关联。然后,点击完成

现在,您应该会看到“广告单元”卡片中填充了您选择的广告单元,如下所示:

将 InMobi 添加为广告来源

广告来源卡片中,选择添加广告联盟

选择 InMobi 并启用 Optimize 开关。输入您的 Login name(登录名称)和 API key(API 密钥),并提供在上一部分中获取的用户名和 API 密钥字段,以便为 InMobi 设置广告来源优化。然后,输入 Momobi 的 eCPM 值并点击继续

输入在上一部分获得的帐号 ID展示位置 ID

使用激励广告

在激励广告单元的设置中,提供奖励金额和奖励类型的值。然后,为确保无论投放哪个广告联盟,您都能向用户提供相同的奖励,请选中应用于中介组中的所有广告联盟复选框。

如果您未应用此设置,InMobi 适配器会在创建展示位置时传回 InMobi 信息中心中指定的奖励。 要详细了解如何为 AdMob 广告单元设置奖励值,请参阅创建广告单元

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

在应用实现级 build.gradle 文件中,添加以下版本的依赖项以及最新版本的 InMobi SDK 和适配器:

repositories {
    google()
    mavenCentral()
}

...
dependencies {
    implementation 'com.google.android.gms:play-services-ads:21.0.0'
    implementation 'com.google.ads.mediation:inmobi:10.0.7.0'
}
...

手动集成

  1. 下载 InMobi Android SDK 并提取 libs 文件夹下的 InMobiSDK.aar 文件,并将其添加到您的项目。

  2. 导航到 Google 的 InMobi 适配器工件Google 的 Maven 代码库中。选择最新版本,下载 InMobi 适配器的 .aar 文件,并将其添加到您的项目。

  3. InMobi 还需要包含其他依赖项。如需了解详情,请参阅 InMobi' 的文档

第 4 步:需要其他代码

InMobi 集成不需要其他代码。

第 5 步:测试您的实现效果

在所有实际展示或某些测试设备上为您的展示位置启用测试模式

可选步骤

根据 Google《欧盟地区用户意见征求政策》,您必须确保向欧洲经济区 (EEA) 内的用户披露与使用设备标识符和个人数据有关的信息,以及征得这些用户的同意。此政策反映了欧盟《电子隐私指令》和《一般数据保护条例》(GDPR) 的要求。在征求用户意见时,您必须指明中介链中可能会收集、接收或使用个人数据的广告联盟,并提供各个广告联盟的使用情况信息。Google 目前无法自动将用户的意见传递给此类网络。

以下部分介绍了如何为 InMobi 启用或停用个性化广告。

在 7.1.0.0 版本中,InMobi 适配器添加了 InMobiConsent 类,该类可让您将用户意见征求信息传递给 InMobi。以下示例代码对 InMobiConsent 类调用 updateGDPRConsent()。如果您选择调用此方法,建议您在通过 Google 移动广告 SDK 请求广告之前执行此操作。

import com.inmobi.sdk.InMobiSdk;
import com.google.ads.mediation.inmobi.InMobiConsent;
// ...

JSONObject consentObject = new JSONObject();
try {
  consentObject.put(InMobiSdk.IM_GDPR_CONSENT_AVAILABLE, true);
  consentObject.put("gdpr", "1");
} catch (JSONException exception) {
  exception.printStackTrace();
}

InMobiConsent.updateGDPRConsent(consentObject);

请参阅 InMobi's GDPR 实现详情,详细了解 InMobi 在此意见征求对象中可能接受的键和值。

将 InMobi 添加到 GDPR 广告合作伙伴列表

按照 GDPR 设置 中的步骤将 InMobi 添加到AdMob 界面中的 GDPR 广告合作伙伴列表。

权限

为了获得最佳性能,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" />

广告联盟专用参数

InMobi 适配器支持其他可作为 Android Bundle 传递给适配器的请求参数。适配器会在软件包中查找以下键:

请求参数和值
InMobiNetworkKeys.AGE_GROUP
用户的年龄段。
InMobiNetworkValues.BELOW_18
InMobiNetworkValues.BETWEEN_18_AND_24
InMobiNetworkValues.BETWEEN_25_AND_29
InMobiNetworkValues.BETWEEN_30_AND_34
InMobiNetworkValues.BETWEEN_35_AND_44
InMobiNetworkValues.BETWEEN_45_AND_54
InMobiNetworkValues.BETWEEN_55_AND_65
InMobiNetworkValues.ABOVE_65
InMobiNetworkKeys.EDUCATION
用户的教育程度。
InMobiNetworkValues.EDUCATION_HIGHSCHOOLORLESS
InMobiNetworkValues.EDUCATION_COLLEGEORGRADUATE
InMobiNetworkValues.EDUCATION_POSTGRADUATEORABOVE
InMobiNetworkKeys.AGE 字符串。用户的年龄
InMobiNetworkKeys.POSTAL_CODE 字符串。用户的邮政编码(通常是 5 位数)
InMobiNetworkKeys.AREA_CODE 字符串。用户的区号(电话号码的一部分)
InMobiNetworkKeys.LANGUAGE 字符串。用户的母语(如果已知)。
InMobiNetworkKeys.CITY 字符串。用户所在的城市
InMobiNetworkKeys.STATE 字符串。用户的状态
InMobiNetworkKeys.COUNTRY 字符串。用户所在的国家/地区
InMobiNetworkKeys.LOGLEVEL
为 InMobi SDK 设置日志级别。
InMobiNetworkValues.LOGLEVEL_NONE
InMobiNetworkValues.LOGLEVEL_DEBUG
InMobiNetworkValues.LOGLEVEL_ERROR

以下是如何设置这些广告请求参数的代码示例:

Java

Bundle extras = new Bundle();
extras.putString(InMobiNetworkKeys.AGE_GROUP, InMobiNetworkValues.BETWEEN_35_AND_54);
extras.putString(InMobiNetworkKeys.AREA_CODE, "12345");
...
AdRequest request = new AdRequest.Builder()
        .addNetworkExtrasBundle(InMobiAdapter.class, extras)
        .build();

Kotlin

val extras = Bundle()
extras.putString(InMobiNetworkKeys.AGE_GROUP, InMobiNetworkValues.BETWEEN_35_AND_54)
extras.putString(InMobiNetworkKeys.AREA_CODE, "12345")
...
val request = AdRequest.Builder()
        .addNetworkExtrasBundle(InMobiAdapter.class, extras)
        .build()

使用原生广告

广告呈现

InMobi 适配器以 NativeAd 对象的形式返回其原生广告。它填充了NativeAd 的以下原生广告字段说明

字段 InMobi 适配器始终包含的资源
标题
映像 1
媒体视图
车身
应用图标
号召性用语
Star rating
存储
价格

1 InMobi 适配器不提供对原生广告主图片素材资源的直接访问。适配器会使用视频或图片填充MediaView

展示和点击跟踪

Google 移动广告 SDK 使用 InMobi SDK 的回调来跟踪展示和点击,因此这两个信息中心的报告应该几乎没有差异。

错误代码

如果适配器未能接收来自 InMobi 的广告,则发布商可以使用以下类下的ResponseInfo.getAdapterResponse() 检查广告响应中的基础错误:

com.google.ads.mediation.inmobi.InMobiAdapter
com.google.ads.mediation.inmobi.InMobiMediationAdapter

广告加载失败时,InMobi 适配器抛出的代码和附带的消息如下:

错误代码 原因
0-99 InMobi SDK 错误。如需了解详情,请参阅代码
100 在界面中配置的 AdMob MoMobi 服务器参数缺失/无效。
101 未能初始化 InMobi SDK。
102 请求的广告尺寸与 InMobi 支持的横幅广告尺寸不匹配。
103 广告请求不是统一的原生广告请求。
104 尝试在未初始化 InMobi SDK 的情况下请求 InMobi 广告。理论上,在任何情况下都不应发生这种情况,因为适配器会在请求 InMobi 广告之前初始化 InMobi SDK。
105 InMobi' 的广告尚未准备好进行展示。
106 InMobi 未能展示广告。
107 InMobi 返回的原生广告缺少必需的素材资源。
108 InMobi' 的原生广告图片素材资源包含格式不正确的网址。
109 适配器未能下载 InMobi' 原生广告图片素材资源。
101 在界面中配置的 AdMob MoMobi 服务器参数缺失/无效。
102 InMobi Adapter 不支持所请求的广告格式。
103 此网络配置已加载 InMobi 广告。
其他 InMobi SDK 返回了错误。如需了解详情,请参阅 IMRequestStatus.h

InMobi Android 中介适配器变更日志

版本 10.0.7.0

  • 验证了与 InMobi SDK 10.0.7 的兼容性。
  • compileSdkVersiontargetSdkVersion 更新到了 API 31。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 21.0.0。
  • 已将最低的 Android API 级别更新为 19。

构建和测试时使用的工具:

  • Google 移动广告 SDK 版本 21.0.0。
  • InMobi SDK 版本 10.0.7。

版本 10.0.6.0

  • 验证了与 InMobi SDK 10.0.6 的兼容性。

构建和测试时使用的工具:

  • Google 移动广告 SDK 版本 20.6.0
  • InMobi SDK 版本 10.0.6。

版本 10.0.5.0

  • 验证了与 InMobi SDK 10.0.5 的兼容性。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 20.6.0。

构建和测试时使用的工具:

  • Google 移动广告 SDK 版本 20.6.0
  • InMobi SDK 版本 10.0.5。

版本 10.0.3.0

  • 验证了与 InMobi SDK 10.0.3 的兼容性。

构建和测试时使用的工具:

  • Google 移动广告 SDK 版本 20.5.0。
  • InMobi SDK 版本 10.0.3。

版本 10.0.2.0

  • 验证了与 InMobi SDK 10.0.2 的兼容性。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 20.5.0。

构建和测试时使用的工具:

  • Google 移动广告 SDK 版本 20.5.0。
  • InMobi SDK 版本 10.0.2。

版本 10.0.1.0

  • 验证了与 InMobi SDK 10.0.1 的兼容性。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 20.4.0。

构建和测试时使用的工具:

  • Google 移动广告 SDK 版本 20.4.0。
  • InMobi SDK 版本 10.0.1。

9.2.1.0 版

  • 验证了与 InMobi SDK 9.2.1 的兼容性。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 20.3.0。

构建和测试时使用的工具:

  • Google 移动广告 SDK 版本 20.3.0。
  • InMobi SDK 版本 9.2.1。

9.2.0.0 版

  • 验证了与 InMobi SDK 9.2.0 的兼容性。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 20.2.0。
  • 修复了错误消息不正确。

构建和测试时使用的工具:

  • Google 移动广告 SDK 版本 20.2.0。
  • InMobi SDK 版本 9.2.0。

9.1.9.0 版

  • 验证了与 InMobi SDK 9.1.9 的兼容性。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 20.1.0。

构建和测试时使用的工具:

  • Google 移动广告 SDK 版本 20.1.0
  • InMobi SDK 版本 9.1.9。

9.1.7.0 版

  • 已验证与 InMobi SDK 版本 9.1.7 的兼容性。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 19.8.0。

构建和测试时使用的工具:

  • Google 移动广告 SDK 19.8.0。
  • InMobi SDK 版本 9.1.7。

9.1.6.0 版

  • 验证了与 InMobi SDK 9.1.6 的兼容性。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 19.7.0。
  • 适配器现在替换展示跟踪,并使用 InMobi 的展示次数定义。
  • 适配器不会再读取 Google 移动广告 SDK 19.7.0 版本中已弃用的性别和生日定位参数。
  • 已迁移到 AndroidX

构建和测试时使用的工具:

  • Google 移动广告 SDK 19.7.0。
  • InMobi SDK 版本 9.1.6。

9.1.1.0 版

  • 已验证与 InMobi SDK 版本 9.1.1 的兼容性。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 19.5.0。
  • 添加了描述性错误代码以及适配器加载/显示失败的原因。

构建和测试时使用的工具:

  • Google 移动广告 SDK 19.5.0。
  • InMobi SDK 版本 9.1.1。

9.1.0.0 版

  • 验证了与 InMobi SDK 9.1.0 的兼容性。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 19.4.0。

构建和测试时使用的工具:

  • Google 移动广告 SDK 19.4.0。
  • InMobi SDK 版本 9.1.0。

9.0.9.0 版

  • 验证了与 InMobi SDK 9.0.9 的兼容性。

构建和测试时使用的工具:

  • Google 移动广告 SDK 19.3.0。
  • InMobi SDK 版本 9.0.9。

版本 9.0.8.0

  • 取消了对已弃用的 NativeAppInstallAd 格式的支持。应用应请求统一原生广告。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 19.3.0。
  • 验证了与 InMobi SDK 9.0.8 的兼容性。

构建和测试时使用的工具:

  • Google 移动广告 SDK 19.3.0。
  • InMobi SDK 版本 9.0.8。

9.0.7.1 版

  • 修复了适配器无法正确保持 InMobi SDK 的初始化状态的问题。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 19.2.0。

构建和测试时使用的工具:

  • Google 移动广告 SDK 19.2.0 版。
  • InMobi SDK 版本 9.0.7。

9.0.7.0 版

  • 验证了与 InMobi SDK 9.0.7 的兼容性。
  • 更新了适配器,以支持内嵌自适应横幅广告请求。
  • 适配器现在包含 InMobi' 的准则建议的 ProGuard 配置。

构建和测试时使用的工具:

  • Google 移动广告 SDK 19.1.0。
  • InMobi SDK 版本 9.0.7。

版本 9.0.6.0

  • 验证了与 InMobi SDK 9.0.6 的兼容性。
  • 原生广告:修复了在原生 Feed 集成中滚动时,InMobi 的 primaryView 消失的错误。
  • 原生广告:修复了导致 InMobi 的 primaryView 无法显示在 mediaView 中心的 bug。

构建和测试时使用的工具:

  • Google 移动广告 SDK 19.1.0。
  • InMobi SDK 版本 9.0.6。

9.0.5.0 版

  • 验证了与 InMobi SDK 9.0.5 的兼容性。

构建和测试时使用的工具:

  • Google 移动广告 SDK 19.1.0。
  • InMobi SDK 版本 9.0.5。

9.0.4.0 版

  • 将所需的最低 Google 移动广告 SDK 版本更新为 19.1.0。

构建和测试时使用的工具:

  • Google 移动广告 SDK 19.1.0。
  • InMobi SDK 版本 9.0.4。

9.0.2.0 版

  • 已验证与 InMobi SDK 版本 9.0.2 的兼容性。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 18.3.0。
  • 移除了横幅广告、插页式广告和激励广告格式的出价功能。
  • 修复了在尝试呈现原生广告时导致崩溃的问题。

构建和测试时所用的工具

  • Google 移动广告 SDK 版本 18.3.0。
  • InMobi SDK 版本 9.0.2。

7.3.0.1 版

  • 原生广告现在可以利用统一的原生广告中介 API。

构建和测试时所用的工具

  • Google 移动广告 SDK 版本 18.2.0。
  • InMobi SDK 7.3.0。

版本 7.3.0.0

  • 验证了与 InMobi SDK 7.3.0 的兼容性。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 18.2.0。

7.2.9.0 版

  • 为横幅广告、插页式广告和激励广告适配器添加了出价功能。
  • 验证了与 InMobi SDK 7.2.9 的兼容性。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 18.1.1。

7.2.7.0 版

  • 验证了与 InMobi SDK 7.2.7 的兼容性。

版本 7.2.2.2

  • 新增了对灵活横幅广告尺寸的支持。

版本 7.2.2.1

  • 更新了适配器,以支持新的公开 Beta 版 API。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 17.2.0。

版本 7.2.2.0

  • 已验证与 InMobi SDK 7.2.2 的兼容性。

7.2.1.0 版

  • 已验证与 InMobi SDK 7.2.1 的兼容性。

版本 7.2.0.0

  • 验证了与 InMobi SDK 7.2.0 的兼容性。

7.1.1.1 版

  • 更新了适配器,以调用 onRewardedVideoComplete 广告事件。

7.1.1.0 版

  • 验证了与 InMobi SDK 7.1.1 的兼容性。

7.1.0.0 版

  • 添加了 InMobiConsent 类,用于提供 updateGDPRConsent() 和 getConsentObj() 方法。
  • 验证了与 InMobi SDK 7.1.0 的兼容性。

7.0.4.0 版

  • 验证了与 InMobi SDK 7.0.4 的兼容性。

版本 7.0.2.0

  • 验证了与 InMobi SDK 7.0.2 的兼容性。

7.0.1.0 版

  • 更新了适配器,使其与 InMobi SDK 7.0.1 版本兼容。
  • 新增了对原生视频广告的支持。
  • 对于原生广告,适配器始终会返回媒体视图。适配器不再返回图片素材资源,而是改为为静态原生广告显示图片。
  • 更新了 Android Studio 3.0 的适配器项目。

6.2.4.0 版

  • 已验证与 InMobi SDK 6.2.4 的兼容性。

6.2.3.0 版

  • 将版本命名系统更改为了 [InMobi SDK version?[Adapter patch version]。

早期版本

  • 添加了对横幅广告、插页式广告、激励视频广告和原生广告格式的支持。