将 InMobi 与中介集成

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

支持的集成和广告格式

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

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

1 出价集成功能目前处于公开 Beta 版阶段。

2 仅适用于广告瀑布流中介。

要求

  • iOS 部署目标版本为 10.0 或更高版本
  • 最新版 Google 移动广告 SDK

  • 看完中介服务入门指南

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

注册一个 InMobi 账号。创建账号时,请勿选中将 InMobi SSP 与 Google 公开出价搭配使用选项。

账号通过验证后,请登录

添加应用

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

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

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

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

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

展示位置

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

出价

选择广告单元类型。输入展示位置名称,然后分别为受众群体出价合作平台选择启用Google 公开出价,并填写表单的其余部分。完成后,点击创建展示位置

瀑布

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

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

账号 ID

您可以在财务 > 付款设置 > 付款信息下找到 InMobi 账号 ID。

找到 InMobi Reporting API 密钥

出价

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

瀑布

依次选择我的账号 > 账号设置。转到 API 密钥标签页,然后点击生成 API 密钥

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

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

开启测试模式

为您的展示位置启用测试模式,以便在所有真实展示或仅在特定测试设备上启用测试模式。

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

将 InMobi 添加到 GDPR 和美国州级法规广告合作伙伴列表

按照 GDPR 设置美国州级法规设置中的步骤操作,将 InMobi 添加到 AdMob 界面中的 GDPR 和美国州级法规广告合作伙伴列表中。

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

  • 将以下代码行添加到项目的 Podfile 中:

    pod 'GoogleMobileAdsMediationInMobi'
    
  • 在命令行中运行以下命令:

    pod install --repo-update

手动集成

  • 下载最新版本的 InMobi iOS SDK,并在项目中关联 InMobiSDK.framework
  • 通过更新日志中的下载链接下载最新版本的 InMobi 适配器,并在项目中关联 InMobiAdapter.framework
  • 将以下框架添加到您的项目中
    • libsqlite3.0.tbd
    • libz.tbd
    • WebKit.framework

项目设置

-ObjC 标志添加到 Application Target > Build Settings 下的 Other Linker Flags

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

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

在 7.1.1.0 版中,InMobi 适配器添加了 GADMInMobiConsent 类,可让您将意见征求信息传递给 InMobi。以下示例代码会对 GADMInMobiConsent 类调用 updateGDPRConsent。如果您选择调用此方法,建议您先调用此方法,然后再通过 Google 移动广告 SDK 请求广告。

Swift

import InMobiAdapter
// ...

var consentObject = Dictionary<String, String>()
consentObject["gdpr"] = "1"
consentObject[IM_GDPR_CONSENT_AVAILABLE] = "true"

GADMInMobiConsent.updateGDPRConsent(consentObject)

Objective-C

#import <InMobiAdapter/InMobiAdapter.h>
// ...

NSMutableDictionary *consentObject = [[NSMutableDictionary alloc] init];
[consentObject setObject:@"1" forKey:@"gdpr"];
[consentObject setObject:@"true" forKey:IM_GDPR_CONSENT_AVAILABLE];

[GADMInMobiConsent updateGDPRConsent:consentObject];

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

美国州级隐私保护法律

美国州级隐私保护法律 规定,用户有权选择不“出售”其“个人信息”(该法律对这些术语进行了定义),“出售”方首页上醒目的“请勿出售我的个人信息”链接提供该拒绝选项。美国州级隐私保护法合规指南提供了为 Google 广告投放启用受限的数据处理的功能,但 Google 无法将此设置应用于中介链中的每个广告网络。因此,您必须识别中介链中可能参与销售个人信息的每个广告网络,并遵循每个广告网络的指南,以确保合规。

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

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

第 5 步:需要其他代码

SKAdNetwork 集成

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

第 6 步:测试您的实现

启用测试广告

请务必为Ad Manager 注册您的测试设备,并在 InMobi 界面中启用测试模式

验证测试广告

如需验证您收到的是来自InMobi的测试广告,请使用相应广告来源在广告检查器中启用单一广告来源测试InMobi (Bidding) and InMobi (Waterfall)

可选步骤

网络专用参数

InMobi 适配器支持其他请求参数,这些参数可以使用 GADInMobiExtras 类传递给适配器。GADInMobiExtras 包含以下所有受支持广告格式的通用属性:

请求参数和值
setAgeGroup
用户所在的年龄段。
kIMSDKAgeGroupBelow18
kIMSDKAgeGroupBetween18And24
kIMSDKAgeGroupBetween25And29
kIMSDKAgeGroupBetween30And34
kIMSDKAgeGroupBetween35And44
kIMSDKAgeGroupBetween45And54
kIMSDKAgeGroupBetween55And64
kIMSDKAgeGroupAbove65
setEducationType
用户的受教育程度。
kIMSDKEducationHighSchoolOrLess
kIMSDKEducationCollegeOrGraduate
kIMSDKEducationPostGraduateOrAbove
setLogLevel kIMSDKLogLevelNone
kIMSDKLogLevelError
kIMSDKLogLevelDebug
setAge 整数:用户的年龄。
setYearOfbirth 整数。用户的出生年份。
setPostalCode String。用户的邮政编码。 通常是 5 位数。
setAreaCode String。用户的电话区号(电话号码的一部分)。
setLanguage String。用户的母语(如果已知)。
setLoginId String。发布商网域中的登录 ID。
setSessionId String。发布商网域中的会话 ID。
setLocationWithCityStateCountry String。地理位置,其中城市、州/省级行政区和国家/地区是参数。
setKeywords String。要在广告请求中传递的任何与内容相关的关键字。
setInterests String。要在广告请求中传递的任何与上下文相关的字符串。
setAdditionalParameters 字典。要在广告请求中传递的任何其他值。

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

Swift

let request = GAMRequest()
let extras = GADInMobiExtras()
extras.ageGroup = kIMSDKAgeGroupBetween35And54
extras.areaCode = "12345"
request.registerAdNetworkExtras(extras)

Objective-C

GAMRequest *request = [GAMRequest request];
GADInMobiExtras *extras = [[GADInMobiExtras alloc] init];
extras.ageGroup = kIMSDKAgeGroupBetween35And54;
extras.areaCode = @"12345";
[request registerAdNetworkExtras:extras];

使用原生广告

广告呈现

InMobi 适配器会将其原生广告作为GADNativeAd对象返回。它会为 GADNativeAd

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

1 InMobi 适配器不为其原生广告提供对主图片素材资源的直接访问权限。而是由适配器使用视频或图片填充GADMediaView

展示和点击跟踪

Google 移动广告 SDK 会检测点击并将其转发给 InMobi,因此点击报告将保持同步。

Google 移动广告 SDK 使用 InMobi SDK 的回调进行展示跟踪,因此这两个信息中心中的报告应该是一致的,差异很小或没有差异。

错误代码

如果适配器未能接收来自 InMobi 的广告,发布商可以使用 GADResponseInfo.adNetworkInfoArray

GADMAdapterInMobi
GADMediationAdapterInMobi

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

错误代码 原因
101 在 Ad Manager 界面中配置的 InMobi 服务器参数缺失/无效。
102 InMobi 适配器不支持请求的广告格式。
103 此广告联盟配置已加载 InMobi 广告。
其他 InMobi SDK 返回了错误。如需了解详情,请参阅 IMRequestStatus.h

InMobi iOS 中介适配器更新日志

版本 10.7.8.0

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

构建和测试所需版本:

  • Google 移动广告 SDK 版本 11.10.0。
  • InMobi SDK 版本 10.7.8。

版本 10.7.5.1

  • 更新了 CFBundleShortVersionString,使其包含三个组件,而不是四个。

构建和测试所需版本:

  • Google 移动广告 SDK 版本 11.10.0。
  • InMobi SDK 版本 10.7.5。

版本 10.7.5.0

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

构建和测试所需版本:

  • Google 移动广告 SDK 11.7.0 版。
  • InMobi SDK 版本 10.7.5。

版本 10.7.4.0

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

构建和测试所需版本:

  • Google 移动广告 SDK 11.6.0 版。
  • InMobi SDK 版本 10.7.4。

版本 10.7.2.0

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

构建和测试所需系统:

  • Google 移动广告 SDK 11.3.0 版。
  • InMobi SDK 版本 10.7.2。

版本 10.7.1.0

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

构建和测试所需系统:

  • Google 移动广告 SDK 11.2.0 版。
  • InMobi SDK 版本 10.7.1。

版本 10.6.4.0

  • 已验证与 InMobi SDK 10.6.4 的兼容性。
  • 将已弃用的 GADMobileAds.sharedInstance.sdkVersion 方法替换为了 GADMobileAds.sharedInstance.versionNumber
  • 将对 NSUserDefaults 的使用替换为 CFPreferences 函数。
  • 现在要求最低 iOS 版本为 12.0。
  • 现在需要 Google 移动广告 SDK 11.0 或更高版本。
  • InMobiAdapter.xcframework 中的框架中添加了 Info.plist

构建和测试所需版本:

  • Google 移动广告 SDK 版本 11.0.1。
  • InMobi SDK 版本 10.6.4。

版本 10.6.0.0

  • 已验证与 InMobi SDK 10.6.0 的兼容性。
  • 为出价横幅广告、插页式广告和激励广告格式添加了水印支持。

构建和测试所需系统:

  • Google 移动广告 SDK 10.13.0 版。
  • InMobi SDK 版本 10.6.0。

版本 10.5.8.0

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

构建和测试所需版本:

  • Google 移动广告 SDK 10.10.0 版。
  • InMobi SDK 版本 10.5.8。

版本 10.5.6.0

  • 添加了从 NSUserDefaults 读取 IAB 美国隐私字符串的支持。
  • 已验证与 InMobi SDK 10.5.6 的兼容性。
  • 新增了对横幅广告(包括 MREC)、插页式广告和激励广告格式的出价支持。

构建和测试所需系统:

  • Google 移动广告 SDK 10.9.0 版。
  • InMobi SDK 版本 10.5.6。

版本 10.5.5.0

  • 现在需要 Google 移动广告 SDK 10.4.0 或更高版本。
  • 更新了适配器以使用 didRewardUser API。
  • 更新了适配器,以在主线程上初始化 InMobi SDK。

构建和测试所需版本:

  • Google 移动广告 SDK 10.4.0 版。
  • InMobi SDK 版本 10.5.5。

版本 10.5.4.0

  • 已验证与 InMobi SDK 10.5.4 的兼容性。
  • 移除了已废弃的性别、生日和地理位置中介 API 的使用。
  • 移除了对 armv7 架构的支持。
  • 现在,最低 iOS 版本要求为 11.0。
  • 现在需要 Google 移动广告 SDK 10.0.0 或更高版本。

构建和测试所需系统:

  • Google 移动广告 SDK 10.2.0 版。
  • InMobi SDK 版本 10.5.4。

补充说明:

  • 此版本是在 10.1.3.0 版之前创建的,因此不使用 didRewardUser API。

版本 10.1.3.0

  • 已验证与 InMobi SDK 10.1.3 的兼容性。
  • 现在需要 Google 移动广告 SDK 10.4.0 或更高版本。
  • 更新了适配器以使用 didRewardUser API。

构建和测试所需系统:

  • Google 移动广告 SDK 10.5.0 版。
  • InMobi SDK 版本 10.1.3。

补充说明:

版本 10.1.2.1

  • 已验证与 InMobi SDK 10.1.2 的兼容性。
  • 修复了原生广告在可滚动界面中可能会变为空白的问题。
  • 更新了适配器,以使用新的中介 API。
  • 添加了对将 COPPA 值转发到 InMobi SDK 的支持。

构建和测试所需版本:

  • Google 移动广告 SDK 9.14.0 版。
  • InMobi SDK 版本 10.1.2。

版本 10.1.2.0

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

构建和测试所需版本:

  • Google 移动广告 SDK 9.13.0 版。
  • InMobi SDK 版本 10.1.2。

版本 10.1.1.0

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

构建和测试所需版本:

  • Google 移动广告 SDK 9.12.0 版。
  • InMobi SDK 版本 10.1.1。

版本 10.1.0.0

  • 已经验证与 InMobi SDK 10.1.0 兼容。
  • 更新了适配器以使用 didRewardUser API。
  • 现在需要 Google 移动广告 SDK 9.8.0 或更高版本。

构建和测试所需版本:

  • Google 移动广告 SDK 9.11.0 版。
  • InMobi SDK 版本 10.1.0。

版本 10.0.7.0

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

构建和测试所需版本:

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

版本 10.0.5.0

  • 已经验证与 InMobi SDK 10.0.5 兼容。

构建和测试所需系统:

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

版本 10.0.2.1

  • 已经验证与 Google 移动广告 SDK 9.0.0 版本兼容。
  • 现在需要 Google 移动广告 SDK 9.0.0 或更高版本。

构建和测试所需版本:

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

版本 10.0.2.0

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

构建和测试所需版本

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

版本 10.0.1.0

  • 已经验证与 InMobi SDK 10.0.1 兼容。

构建和测试所需版本

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

版本 10.0.0.0

  • 已验证与 InMobi SDK 10.0.0 的兼容性。
  • 现在需要的最低 iOS 版本为 10.0。

构建和测试所需版本

  • Google 移动广告 SDK 8.11.0 版。
  • InMobi SDK 版本 10.0.0。

版本 9.2.1.0

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

构建和测试所用的

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

版本 9.2.0.0

  • 已验证与 InMobi SDK 9.2.0 的兼容性。
  • 放宽了对 Google 移动广告 SDK 8.0.0 或更高版本的依赖。

构建和测试所需版本

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

版本 9.1.7.0

  • 已验证与 InMobi SDK 9.1.7 的兼容性。
  • 现在需要 Google 移动广告 SDK 8.3.0 或更高版本。

构建和测试所需版本

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

版本 9.1.5.0

  • 已验证与 InMobi SDK 9.1.5 的兼容性。
  • 现在需要 Google 移动广告 SDK 8.1.0 或更高版本。

构建和测试所用的

  • Google 移动广告 SDK 8.1.0 版。
  • InMobi SDK 版本 9.1.5。

版本 9.1.1.1

  • 将适配器更新为使用 .xcframework 格式。
  • 现在需要 Google 移动广告 SDK 8.0.0 或更高版本。

构建和测试所需版本

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

版本 9.1.1.0

  • 已验证与 InMobi SDK 9.1.1 的兼容性。
  • 现在需要 Google 移动广告 SDK 7.68.0 或更高版本。

构建和测试所用的

  • Google 移动广告 SDK 7.68.0 版。
  • InMobi SDK 9.1.1 版。

版本 9.1.0.0

  • 已经验证与 InMobi SDK 9.1.0 兼容。
  • 现在需要 Google 移动广告 SDK 7.65.0 或更高版本。

构建和测试所需版本

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

版本 9.0.7.2

  • 如果未指定面向儿童的内容处理方式,激励广告不再默认采用 coppa=0。

构建和测试所需版本

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

版本 9.0.7.1

  • 现在需要 Google 移动广告 SDK 7.61.0 或更高版本。
  • 添加了标准化的适配器错误代码和消息。

构建和测试所需版本

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

版本 9.0.7.0

  • 已经验证与 InMobi SDK 9.0.7 兼容。

构建和测试所需版本

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

版本 9.0.6.0

  • 已验证与 InMobi SDK 9.0.6 的兼容性。
  • 更新了 InMobi iOS 适配器 CocoaPod 依赖项,以使用 InMobiSDK/Core
  • 现在需要 Google 移动广告 SDK 7.60.0 或更高版本。

构建和测试所需版本

  • Google 移动广告 SDK 7.60.0 版
  • InMobi SDK 版本 9.0.6

版本 9.0.4.0

  • 已验证与 InMobi SDK 9.0.4 的兼容性。
  • 现在,如果 InMobi SDK 初始化失败,适配器会提前失败。
  • 移除了对 i386 架构的支持。

构建和测试所需版本

  • Google 移动广告 SDK 7.57.0 版
  • InMobi SDK 9.0.4 版

版本 9.0.0.0

  • 已验证与 InMobi SDK 9.0.0 的兼容性。
  • 移除了针对横幅广告、插页式广告和激励广告格式的出价功能。

构建和测试所用的

  • Google 移动广告 SDK 7.53.1 版
  • InMobi SDK 版本 9.0.0

版本 7.4.0.0

  • 已经验证与 InMobi SDK 7.4.0 兼容。

版本 7.3.2.1

  • 修复了适配器因中介配置无效而无法初始化的问题。

版本 7.3.2.0

  • 已验证与 InMobi SDK 7.3.2 的兼容性。
  • 为适配器添加了针对横幅广告、插页式广告和激励广告格式的出价功能。

版本 7.3.0.0

  • 已经验证与 InMobi SDK 7.3.0 兼容。
  • 移除了对原生内容广告请求和应用安装广告请求的支持。应用必须使用 Unified Native Ads API 请求原生广告。
  • 现在需要 Google 移动广告 SDK 7.46.0 或更高版本。

7.2.7.0 版

  • 已验证与 InMobi SDK 7.2.7 的兼容性。
  • 更新了适配器以使用新的激励广告 API。
  • 现在需要 Google 移动广告 SDK 7.42.2 或更高版本。
  • 新增了对灵活横幅广告尺寸的支持。

版本 7.2.4.0

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

7.2.1.0 版

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

版本 7.2.0.0

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

7.1.2.0 版

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

版本 7.1.1.2

  • 向适配器添加了 adapterDidCompletePlayingRewardBasedVideoAd: 回调。

7.1.1.1 版

  • 添加了 GADInMobiConsent 类,该类提供 updateGDPRConsentgetConsent 方法。

7.1.1.0 版

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

版本 7.1.0.0

  • 已经验证与 InMobi SDK 7.1.0 兼容。

版本 7.0.4.1

  • 修复了当适配器与其他网络一起使用时,导致出现重复符号错误的问题。

版本 7.0.4.0

  • 更新了适配器,使其与 InMobi SDK 7.0.4 兼容。
  • 添加了对原生视频广告的支持。
  • InMobi 的 SDK 不会为包含视频素材资源的广告提供图片。为避免潜在的 NullPointerException,当适配器收到其中一种广告时,它会自动创建一个空白的 NativeAd.Image,并将其包含在应用收到的广告对象中的图片素材资源数组中。我们建议使用此适配器的发布商在中介到 InMobi 时避免直接使用图片素材资源,而是在其界面中使用 GADMediaView。GADMediaView 会自动为包含视频素材资源的广告展示视频素材资源,并为不包含视频素材资源的广告展示图片素材资源。

版本 6.2.1.0

  • 已验证与 inMobi SDK 6.2.1 的兼容性

早期版本

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