将 InMobi 与中介集成

本指南介绍了如何使用 GMA Next-Gen SDK 通过 AdMob 中介加载和展示来自 InMobi 的广告,其中涵盖了瀑布流集成和出价集成。如何将 InMobi 添加到广告单元的中介配置,以及如何将 InMobi SDK 和适配器集成到 Android 应用中。

支持的集成和广告格式

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

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

要求

  • Android API 级别 24 或更高级别
  • [对于出价]:如需在出价中集成所有受支持的广告格式,请使用 InMobi 适配器 10.6.3.0 或更高版本(建议使用最新版本
  • 最新版 GMA Next-Gen SDK

  • 完成中介 入门指南阅读。

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

注册 InMobi 账号。

验证账号后,请登录

添加应用

如需将应用添加到 InMobi 信息中心,请依次点击 Inventory > Inventory Settings

点击 Add Inventory ,然后从下拉菜单中选择 Mobile App 渠道。

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

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

查看 App &Website Compliance 设置,然后点击 Save and Create Placements

展示位置

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

出价

选择广告单元的类型。然后,输入展示位置名称,分别为Audience BiddingPartner选择 OnGoogle 公开出价 ,并填写表单的其余部分。完成后,点击 Create Placement

瀑布流

选择广告单元的类型。然后,输入展示位置名称,为 Audience Bidding选择Off,并填写表单的其余部分。完成后,点击 Create Placement

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

账号 ID

您的 InMobi 账号 ID 位于 Finance > Payment Settings > Payment Information 下。

查找 InMobi Reporting API 密钥

出价

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

瀑布流

依次前往 My Account > Account Settings 。前往 API Key 标签页,然后点击 Generate API Key

选择需要密钥的用户的电子邮件地址 ,然后点击 Generate API Key 。系统会生成一个包含 API 密钥和用户名/登录名的文件。

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

更新 app-ads.txt

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

如需为 InMobi 实现 app-ads.txt请添加您的个性化代码段

启用测试模式

仅针对所有实际展示或某些测试设备,为您的展示位置启用测试模式

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

为广告单元配置中介设置

您需要将 InMobi 添加到广告单元的中介配置。

首先,登录您的 AdMob 账号。接下来,前往中介 标签页。如果您要修改某个现有中介组, 请点击该中介组的名称进行修改,然后跳至 将 InMobi 添加为广告来源

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

输入广告格式和平台,然后点击继续

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

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

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

将 InMobi 添加为广告来源

出价


广告来源 部分的出价 卡片下,选择添加广告来源 。然后选择 InMobi (SDK)

点击如何签署合作伙伴协议 ,然后 与 InMobi 建立出价合作伙伴关系



点击确认并同意 ,然后点击继续



如果您已为 InMobi 创建映射, 可以选择该映射。否则,请点击添加映射



接下来,输入在上一部分获得的 账号 ID展示位置 ID 。然后,点击完成



瀑布流


广告来源 部分的瀑布流 卡片下,选择添加广告来源

选择 InMobi ,然后启用优化 开关。输入在上一部分获得的用户名API 密钥 ,以便为 InMobi 设置广告来源优化。 然后,输入 InMobi 的 eCPM 值 ,并点击继续



如果您已为 InMobi 创建映射,可以选择该映射。 否则,请点击添加映射

接下来,输入在上一部分获得的 账号 ID展示位置 ID 。然后,点击完成


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

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

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

在应用级 Gradle 文件中,添加以下实现依赖项和配置:

Kotlin

dependencies {
    implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.25.0-beta01")
    implementation("com.google.ads.mediation:inmobi:11.1.1.0")
}

configurations.configureEach {
    exclude(group = "com.google.android.gms", module = "play-services-ads")
    exclude(group = "com.google.android.gms", module = "play-services-ads-lite")
}

Groovy

dependencies {
    implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.25.0-beta01'
    implementation 'com.google.ads.mediation:inmobi:11.1.1.0'
}

configurations.configureEach {
    exclude group: 'com.google.android.gms', module: 'play-services-ads'
    exclude group: 'com.google.android.gms', module: 'play-services-ads-lite'
}

手动集成

  1. 下载 InMobi Android SDK,解压缩 libs 文件夹下的 InMobiSDK.aar 文件,然后将其添加到您的项目中。

  2. 前往 Google 的 Maven 制品库中的 InMobi 适配器工件 。选择最新版本,下载 InMobi 适配器的 .aar 文件,然后将其添加到您的项目中。

  3. InMobi 还要求包含其他依赖项。如需了解更多详细信息,请参阅 InMobi 的文档

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

为了遵守 Google 的《欧盟地区用户意见征求政策》,您必须:向位于欧洲经济区 (EEA)、英国和瑞士境内的用户披露相关信息;如果法律要求在使用 Cookie 或存储在本地的其他 ID 之前必须先征得用户同意,您必须照做;如果需要收集、分享和使用个人数据来实现广告个性化,也必须征得用户同意。此政策反映了欧盟《电子隐私指令》和《一般数据保护条例》(GDPR) 的要求。您要负责验证用户意见是否已传播到中介链中的每个广告来源。 Google 无法自动将用户意见传递给此类广告资源网。

在 7.1.0.0 版中,InMobi 适配器添加了 InMobiConsent 类,可让您将意见信息传递给 InMobi。以下示例代码对 InMobiConsent 类调用了 updateGDPRConsent()。如果您选择调用此方法,建议您在通过GMA Next-Gen SDK请求广告之前进行调用。

Kotlin

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

val consentObject = JSONObject()
try {
  consentObject.put(InMobiSdk.IM_GDPR_CONSENT_AVAILABLE, true)
  consentObject.put("gdpr", "1")
} catch (exception: JSONException) {
  Log.e(TAG, "Error creating GDPR consent JSON.", exception)
}

InMobiConsent.updateGDPRConsent(consentObject)

Java

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) {
  Log.e(TAG, "Error creating GDPR consent JSON.", exception);
}

InMobiConsent.updateGDPRConsent(consentObject);

如需详细了解 InMobi 在 此意见对象中接受的可能键和值,请参阅 InMobi 的 GDPR 实现详细信息

美国州级隐私保护法律

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

在 10.5.7.1 版中,InMobi 适配器增加了对从 共享偏好设置中读取 IAB 美国隐私字符串的支持。请按照 美国州级隐私保护法律文档 中的说明,在 共享偏好设置 中设置美国隐私字符串。

此外,如需了解如何在 InMobi 信息中心内启用 CCPA 设置,请参阅 InMobi 的 CCPA 文档

第 5 步:其他必需的代码

InMobi 集成不需要其他代码。

第 6 步:测试您的实现

启用测试广告

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

验证测试广告

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

可选步骤

权限

为了获得最佳性能,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 字符串 。用户的邮政编码 (通常为五位数)
InMobiNetworkKeys.AREA_CODE 字符串 。用户的区号 (电话号码的一部分)
InMobiNetworkKeys.LANGUAGE 字符串 。用户的母语(如果已知)。
InMobiNetworkKeys.CITY 字符串 。用户所在的城市
InMobiNetworkKeys.STATE 字符串 。用户所在的州/省/自治区
InMobiNetworkKeys.COUNTRY 字符串 。用户所在的国家/地区
InMobiNetworkKeys.LOGLEVEL
为 InMobi SDK 设置日志级别。
InMobiNetworkValues.LOGLEVEL_NONE
InMobiNetworkValues.LOGLEVEL_DEBUG
InMobiNetworkValues.LOGLEVEL_ERROR

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

Kotlin

val extras = Bundle()
extras.putString(InMobiNetworkKeys.AGE_GROUP, InMobiNetworkValues.BETWEEN_35_AND_44)
extras.putString(InMobiNetworkKeys.AREA_CODE, AREA_CODE_VALUE)
val request = AdRequest.Builder(AD_UNIT_ID)
   .putAdSourceExtrasBundle(InMobiAdapter::class.java, extras)
   .build()

Java

Bundle extras = new Bundle();
extras.putString(InMobiNetworkKeys.AGE_GROUP, InMobiNetworkValues.BETWEEN_35_AND_44);
extras.putString(InMobiNetworkKeys.AREA_CODE, AREA_CODE_VALUE);
AdRequest request = new AdRequest.Builder(AD_UNIT_ID)
   .putAdSourceExtrasBundle(InMobiAdapter.class, extras)
   .build();
  • AD_UNIT_ID 替换为您的广告单元 ID。

  • AREA_CODE_VALUE 替换为区号。

使用原生广告

广告呈现

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

字段 InMobi 适配器始终包含的素材资源
标题
图片 1
媒体视图
正文
应用图标
号召性用语
星级
商店
价格

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

展示和点击跟踪

GMA Next-Gen SDK 使用 InMobi SDK 的回调进行展示和点击跟踪,因此两个信息中心内的报告应基本一致。

错误代码

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

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

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

错误代码 原因
0-99 InMobi SDK 错误。如需了解详情,请参阅代码
100 AdMob 界面中配置的 InMobi 服务器参数缺失/无效。
101 未能初始化 InMobi SDK。
102 请求的广告尺寸与 InMobi 支持的横幅广告尺寸不符。
103 广告请求不是统一的原生广告请求。
104 尝试在未初始化 InMobi SDK 的情况下请求 InMobi 广告。从理论上讲,这种情况永远不会发生,因为适配器会在请求 InMobi 广告之前初始化 InMobi SDK。
105 InMobi 的广告尚未准备好展示。
106 InMobi 未能展示广告。
107 InMobi 返回的原生广告缺少必需的素材资源。
108 InMobi 的原生广告图片素材资源包含格式错误的网址。
109 适配器未能下载 InMobi 的原生广告图片素材资源。