本指南将向您介绍如何使用 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 和适配器
使用 CocoaPods(推荐)
将以下代码行添加到项目的 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 上实现隐私设置
欧盟地区意见征求和 GDPR
根据 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.5.4.0 之后创建的。
版本 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
类,该类提供updateGDPRConsent
和getConsent
方法。
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 的兼容性
早期版本
- 支持横幅广告、插页式广告、激励视频广告和原生广告格式。