本指南介绍了如何使用 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 公开出价,并填写表单的其余部分。完成后,点击创建展示位置。
瀑布
选择广告单元类型。然后,输入展示位置名称,为受众群体出价选择关闭,并填写表单的其余部分。完成后,点击创建展示位置。
创建展示位置后,系统会显示其详细信息。记下展示位置 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 步:测试您的实现
可选步骤
网络专用参数
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 的兼容性
早期版本
- 支持横幅广告、插页式广告、激励视频广告和原生广告格式。