AI Search

iOS SDK 集成入门

集成 InMobi SDK 并实现盈利非常简单。首先,请在此处Cocoapods下载我们最新的 iOS SDK(版本 11.4.0) 。

笔记

  • 最新版本的 InMobi SDK 支持 iOS 12 或更高版本。此外,此版本的 iOS SDK 需要 Xcode 15.0 或更高版本。
  • 我们建议在主线程上调用所有 InMobi API。
  • 如果您要从 10.1.4 或更低版本迁移到 10.6.0,请按照迁移相关说明进行操作。更多信息,请参阅“迁移到 SDK 11.4.X”
  • 自 2023 年 9 月 24 日起,InMobi 仅在 Swift SDK(版本 10.5.0 及以上)中发布了新的货币化和寻址功能。我们建议您迁移到最新的 InMobi Swift SDK 版本,可在此处获取。 
     

添加 InMobi SDK

方案一:通过

  1. 如果您尚未使用 Cocoapods,请转到您的 Xcode 项目目录并使用以下命令创建一个 pod 文件。

    pod <span class="hljs-keyword">init</span>
  2. 将以下内容添加到Podfile.

    pod <span class="hljs-string">'InMobiSDK'</span>
  3. 将依赖项添加到 pod 文件后,运行以下命令完成依赖项的添加任务。现在您已经拥有一个包含 pod 的工作区。

    pod <span class="hljs-keyword">update</span>

笔记

10.5.0、10.5.1、10.5.3 和 10.5.4 版本仅在InMobiSDK-Swiftpod 上可用,其余版本均可在InMobiSDKpod 上获取。

方案二:直接集成框架

或者,您可以直接集成该框架。

1. 将以下必备框架添加到您的 Xcode 项目中:

  • InMobiSDK.xcframework从下载的 InMobi iOS SDK 包中获取
  • libsqlite3.0.tbd
  • libz.tbd
  • WebKit.framework

2. 将-ObjC标志添加到其他链接器标志中:

  1. 在 Xcode 中打开你的项目。
  2. 选择应用程序目标 构建设置
  3. 搜索框中,搜索“其他链接器标志”
  4. 添加-ObjC旗帜

3. 导航至“常规”选项卡 &gt; “框架、库和嵌入内容”。添加InMobiSDK.xcframework为“嵌入和签名”。

重要先决条件

在开始初始化 SDK 之前,我们先暂停一下,进行一些检查:

检查点 1:准备您的应用以适配 iOS 10

应用传输安全 (ATS) 是 iOS 9 引入的一项默认设置,它强制应用仅通过 TLS 1.2 或更高版本建立网络连接。尽管 InMobi 致力于采用 HTTPS,但目前的设置要求我们的需求合作伙伴支持这一变更,并 100% 符合 ATS 的所有要求。在我们与合作伙伴共同努力构建安全环境的同时,为了确保广告在 iOS 9 及更高版本上正常运行,您需要按照以下步骤进行操作,作为短期解决方案:

禁用 ATS(推荐)——以确保合作伙伴提供的非安全内容在您更新后的应用中正常运行。要禁用 ATS 标志,请将以下代码片段添加到您的应用的Info.plist.

<span class="hljs-tag"><<span class="hljs-name">key</span>></span>NSAppTransportSecurity<span class="hljs-tag"></<span class="hljs-name">key</span>></span> 
<span class="hljs-tag"><<span class="hljs-name">dict</span>></span> 
    <span class="hljs-tag"><<span class="hljs-name">key</span>></span>NSAllowsArbitraryLoads<span class="hljs-tag"></<span class="hljs-name">key</span>></span> 
    <span class="hljs-tag"><<span class="hljs-name">true</span>></span> 
<span class="hljs-tag"></<span class="hljs-name">true</span>></span><span class="hljs-tag"></<span class="hljs-name">dict</span>></span> 

如果您计划迁移到 ATS 合规性系统,请禁用 ATS 并添加例外(不推荐)。您可以通过将域添加到例外列表中,允许来自域的安全内容来实现此目的。

<span class="hljs-tag"><<span class="hljs-name">key</span>></span>NSAppTransportSecurity<span class="hljs-tag"></<span class="hljs-name">key</span>></span> 
<span class="hljs-tag"><<span class="hljs-name">dict</span>></span> 
    <span class="hljs-tag"><<span class="hljs-name">key</span>></span>NSAllowsArbitraryLoads<span class="hljs-tag"></<span class="hljs-name">key</span>></span> 
    <span class="hljs-tag"><<span class="hljs-name">true</span>></span> 
    <span class="hljs-tag"><<span class="hljs-name">key</span>></span>NSExceptionDomains<span class="hljs-tag"></<span class="hljs-name">key</span>></span> 
    <span class="hljs-tag"><<span class="hljs-name">dict</span>></span> 
        <span class="hljs-tag"><<span class="hljs-name">key</span>></span>example.com<span class="hljs-tag"></<span class="hljs-name">key</span>></span> 
        <span class="hljs-tag"><<span class="hljs-name">dict</span>></span> 
            <span class="hljs-tag"><<span class="hljs-name">key</span>></span>NSIncludesSubdomains<span class="hljs-tag"></<span class="hljs-name">key</span>></span> 
            <span class="hljs-tag"><<span class="hljs-name">true</span>></span> 
        <span class="hljs-tag"></<span class="hljs-name">true</span>></span><span class="hljs-tag"></<span class="hljs-name">dict</span>></span> 
    <span class="hljs-tag"></<span class="hljs-name">dict</span>></span> 
<span class="hljs-tag"></<span class="hljs-name">true</span>></span><span class="hljs-tag"></<span class="hljs-name">dict</span>></span>

记住

请勿在例外列表中使用 InMobi 域名和 CDN,否则会在运行时导致错误。 

检查点 2:iOS 12 WiFi 设置

从 iOS 12 开始,苹果引入了隐私设置,允许用户访问 WiFi 信息。为了提升盈利能力和用户体验,我们鼓励用户分享 WiFi 信息以进行定向广告投放。

  1. 在您的应用 ID 中启用“访问 WiFi 信息”。


     
  2. 在 Xcode 功能中为目标应用启用“访问 WiFi 信息”。


     
  3. 请确保已将 WiFi 访问权限添加到您的App.entitlements文件中。

笔记

要获得位置信息许可,您必须告知用户允许传递位置数据。更多信息,请参阅“传递位置信息”

检查点 3:更新您的 info.plist 文件

由于缺乏统一的广告标识符 (IDFA),Apple 提供了 SKAdNetwork API 作为归因解决方案。使用 SKAN 表示您的应用通过 InMobi 实现盈利,并接受来自支持 SKAN 的买家的出价。

要使用 SKAdNetwork ID 配置您的应用,请确保在应用的 Info.plist 文件中输入 InMobi SKAdNetwork ID 以及所有您希望向其销售广告资源的买家的 ID。请按照 Apple 的说明进行操作

InMobi 和 InMobi 买家的 SKAdNetwork ID 以两种格式托管在一起:

  • JSON 格式的 SKAdNetwork ID
  • XML 格式的 SKAdNetwork ID

笔记

这些文件会经常更新。

正在初始化 SDK

将 InMobi SDK 头文件导入到您的AppDelegate.h文件中:

  • Objective-C
  • 迅速

Objective-C

迅速

didFinishLaunchingWithOptions在应用程序代理的m文件中的方法中初始化SDK :

笔记

  • 从 10.7.5 版本开始,如果发布商与 CMP 集成, SDK 会自动检测并检索 TCF 和 GPP 字符串。
  • 根据《通用数据保护条例》(GDPR),在欧洲经济区 (EEA) 内,应用内收集数据的发布商必须具备处理用户个人数据的合法依据。请确保在向 InMobi 向欧洲地区发送广告请求前,已获得用户的适当同意。请确保未经用户同意,不得在欧洲传递任何用户人口统计信息。
  • 对于 SDK 版本 10.7.4 及以下版本,发布商必须在 SDK 初始化期间手动提供 TCF 和 GPP 字符串
  • Objective-C
  • 迅速

Objective-C

迅速

在继续操作之前,了解 GDPR 及其对您在欧洲经济区 (EEA) 地区的流量的影响非常重要。

仅适用于 iOS SDK 版本 10.7.4 及以下版本

什么是 consentObject? - consentObject是一个字典,用于表示发布商向 SDK 提供的所有类型的同意信息。如果您希望通过来自欧洲经济区 (EEA) 的流量获利,则此键是必需的。您可以在此处consentObject阅读更多关于 GDPR 法规的信息

钥匙 类型 推理
GDPR 同意 细绳 同意字符串是一系列数字,用于标识广告技术供应商的同意状态。

字符串必须遵循此处提到的 IAB 合约。

gdpr_consent_available 细绳 “true”:用户已同意收集和使用数据。

“false”:用户未提供收集和使用数据的同意。

除“true”和“false”之外的任何值均无效,并将被视为用户未提供的值。

可以通过字符串常量 IM_GDPR_CONSENT_IAB 访问密钥 gdpr_consent_available。

GDPR 细绳 请求是否受 GDPR 法规约束(0 = 否,1 = 是),省略表示未知。

每个会话都需要提供一个 consentObject。SDK 不会持久化同意信息,它只会将 consentObject 保存在内存中。如果应用重新启动,SDK 将丢失 consentObject。在会话期间,可以按如下方式更新 consentObject:

  • Objective-C
  • 迅速

Objective-C

迅速

数据优化

A. 通道位置信息

受到推崇的

如果您的应用会收集用户位置信息,我们建议您不要将位置信息传递给 InMobi,因为带有位置信息的展示具有更高的潜在收益。如果应用支持位置信息,InMobi SDK 会自动传递位置信息。如果您在应用中使用位置信息,但希望禁用向 InMobi 传递位置信息,请在 InMobi 客户界面中,为您的广告位选择位置权限”选项

否则:您可以NSLocationWhenInUseUsageDescription在文件中设置标志(请求位置权限的描述)info.plist

  • Objective-C
  • 迅速

Objective-C

迅速

B. 填写年龄和性别信息

请确保您已获得用户同意共享此数据。支持以下值:

年龄 性别
  • IMSDKAgeGroupBelow18
  • IMSDKAgeGroupBetween18And24
  • IMSDKAgeGroupBetween25And29
  • IMSDKAgeGroupBetween30And34
  • IMSDKAgeGroupBetween35And44
  • IMSDKAgeGroupBetween45And54
  • IMSDKAgeGroupBetween55And65
  • IMSDKAgeGroupAbove65
  • IMSDKGenderMale
  • IMSDKGenderFemale

例子:

  • Objective-C
  • 迅速

Objective-C

迅速

我们建议您同时使用年龄限制信息,以遵守相关政策,例如 Google 家庭应用的数据实践政策。您必须根据用户的地理位置数据来确定年龄限制的定义。如果该值设置为 True,InMobi SDK 将不会传输设备标识符,例如 Android 中的“AAID”和 iOS 中的“IDFA”。请注意,默认值为 False。 

  • Objective-C
  • 迅速

Objective-C

迅速

隐私声明

InMobi SDK 无需在苹果公司 2024 年春季截止日期前在隐私清单文件中包含数据使用情况和跟踪域详细信息,因为它不属于苹果常用 SDK 的范畴。InMobi 正在密切关注此事,如有任何变更,我们将及时通知您。

Reason API

您必须在隐私清单中说明您对 Reason API的使用情况。苹果公司已发布一项更新,自3 月 13 日起生效,该更新要求开发者收到一封通知邮件,告知其使用需要已批准理由的 API 的应用,其隐私清单中缺少哪些理由。自5 月 1 日起,您应将指定 API 的已批准理由添加到应用代码中。

为了满足这些要求,我们即将于2024 年 3 月 11 日发布的 InMobi SDK 10.6.7 版本将包含一个隐私清单文件,其中详细说明了 InMobi SDK 的 Reason API 的使用情况。值得注意的是,InMobi SDK 更新后,Xcode 将能够无缝检测到 Reason API。

需要 InMobi SDK Reasons API

API类别 API 类别类型 原因 评论
磁盘空间 API NSPrivacyAccessedAPICategoryDiskSpace E174.1 该 SDK 可优化并行资源下载,防止下载失败。
用户默认 API NSPrivacyAccessedAPICategoryUserDefaults CA92.1 SDK 存储重要的操作数据,包括之前的 SDK 版本和应用程序启动等详细信息。

WKWebView中的音频处理

对于以音频或视频媒体作为主要内容的发布商,我们建议通过观察AVAudioSessionInterruptionnotification用户发布的消息来监听中断情况AVAudioSession。这将有助于提前预防任何内容中断,并提前解决用户体验问题。更多信息请阅读以下 Apple 文档:文章 1文章 2

AVAudioSession 管理

InMobi SDK 使用 iOS WKWebView 来渲染 HTML 广告。根据苹果的设计,WKWebView 不遵循AVAudioSessionCategory应用程序的设置,并且 OMSDK 的音频测量功能也无法正常工作。为了控制 HTML 视频广告,SDK 管理了AVAudioSession……

广告的音频可能会与应用的音频混合在一起。因此,建议您在显示全屏广告时暂停应用的音频,并在广告关闭后恢复播放。

从 SDK 9.1.5 版本开始,您可以使用新的 API 来处理该功能AVAudiosSession。此功能默认启用。

+(<span class="hljs-type">void</span>)shouldAutoManageAVAudioSession:(<span class="hljs-type">BOOL</span>)value;

如果设置为“是”,SDK 将AVAudioSession自动管理。广告展示时,API 会将 AVAudioSession 的类别设置为“插播式视频广告”,AVAudioSessionCategoryAmbient并将“视频插播式视频广告”设置为“插播式视频广告”。广告关闭后,SDK 会将“插播式视频广告”和“视频插播式视频广告”重置初始状态。categoryOptionAVAudioSessionCategoryOptionMixWithOthersAVAusioSessionCategorycategoryOption

此设置不会阻止应用内广告音频播放,而是会与广告音频混合播放。因此,建议您在显示全屏广告时暂停应用音频,并在广告关闭后恢复播放。

如果将其设置为“否”,则 SDK 将AVAudioSession在 HTML 视频播放生命周期期间停止管理,并且 OMSDK 和音频测量功能可能保持不可用状态,从而导致发布商的收入损失。

如需了解更多信息,请联系您的相关合作伙伴。

您现在一切就绪!接下来,我们来看看如何设置不同的广告格式并开始盈利。准备好了吗?

本页内容

最后更新于 : 06 Aug, 2026