已经全面支持 iOS 14,详情请点击。
从 Chartboost iOS SDK 8.3.1 开始,最低支持 iOS 10 版本。
- 在您开始之前
- 解压 SDK 数据包并链接框架
- 添加-ObjC 参数
- 链接附加框架
- 在 Info.plist 文件里添加 Chartboost 的 SKAdNetworkIdentifier
- 使用 App Tracking Transparency framework
- 在 Info.plist 里配置 App Transport Security
- 对于 Swift 项目添加 Chartboost 头部引用
- 添加导入头文件
- 初始化 Chartboost
- 添加您的 App ID 和 App 签名
- 显示静态或视频插页式广告
- 显示激励式视频广告
- 测试您的集成
- 检查后台控制面板的 SDK 图标
- 更多 SDK 功能
![]() |
在您开始之前: |
Chartboost SDK 需要运行在 iOS 10.0 或更高版本系统中运行。支持 iPhone 5 或以上版本, iPod 6th 或更高版本, and iPad 4th 或更高版本.
- 您有没有注册Chartboost 帐户?
- 是否将App 添加到了您的后台控制面板?
- 是否下载了最新的 SDK?
- 是否下载了 Chartboost 范例 App?
- 如果您正在使用旧版本的 SDK (8.0.4 及以前),请参考 这里 进行集成
- 如果您正打算从 8.1.0 升级到 8.2.0, 请参考 这里 来检查更新的内容以及升级步骤。
- App 必须使用 iOS 基础 SDK 9.0 版或更高进行编译。
- 截至 2016 年 6 月 1 日,苹果公司要求所有提交的 App 支持 IPv6。
- 该 Chartboost SDK 仅在 iOS 版本 6.0 或更高版本的设备,iPhone 3GS 或更高版本,iPod 第三代或更高版本以及 iPad 2 代设备上运行。
- iOS 10 的 bitcode 版本无法向前兼容 Xcode v7.3.1 版本。请升级到 Xcode V8.0+ 以避免位码兼容性错误,或者在您的Xcode v7.3.1 项目禁用位码。
startWithAppId
必须始终在您 App 启动的前几秒内
硬启动和软启动期间调用。与您 App 内任何其他操作或用户互动无关。GDPR 相关:针对欧洲的用户,开发者可以调用 Chartboost SDK 里的
addDataUseConsent
API 来设置用户的授权许可状态。作为服务条款的一部分,开发者需要向用户征求授权许可(同意、不同意、未知),然后用上述 API 传递给 Chartboost,此 API 的调用必须在执行 startWithAppId
之前。更多用户隐私相关的方法请参考 这里。
![]() |
解压 SDK 数据包和将Chartboost.framework放到您的 Xcode 项目。 |
专家提示:勾选
如果需要则复制项目选项。这将为您的项目创建框架本地副本,让您的项目保持有序。
![]() |
在 XCode 项目的 Build Settings / Other Linker Flags 里添加一个
|
![]() |
链接
|
![]() |
添加 Chartboost 专属的 SKAdNetworkIdentifier 列表到 Info.plist 文件 |
这一步是集成 iOS 14 的必要选项.
SKAdNetworkItems
的 Dictionary 数组,然后添加 Chartboost 的 SKAdNetworkIdentifier,取值: f38h382jlk.skadnetwork
,以及其他合作方的 SKAdNetworkIdentifier 列表。
完整的 Chartboost 相关 SKAdNetwork IDs 列表可以通过此处 XML 和 JSON 查看。您需要将这些 SKAdNetworkIdentifiers 放入您项目的 info.plist 文件里。
SKAdNetwork IDs 列表里的每组元素都以独立的 dict 元素添加 (注意: Chartboost 会持续更新这个列表)。
关于 Info.plist 的更多信息请参考 Apple 官方的 SKAdNetwork Configuring the Participating Apps 和 Editing your property lists 页面。
![]() |
在 Info.plist 文件里配置 App Transport Security |
Apple 在 iOS9以后发布了 ATS 声明,以避免 App 在发送 HTTP 请求时使用不加密的明文。尽管 Chartboost 始终使用加密的 HTTPS, 但某些广告有可能依旧会使用 HTTP 来加载第三方资源。
所以我们建议您在 Info.plist 文件里添加下列的字段:NSAllowsArbitraryLoads, NSAllowsArbitraryLoads, NSAllowsArbitraryLoadsInWebContent,并将它们设置成 true 值:
![]() |
在 Swift 项目中添加头文件 |
如果你希望在 Swift 项目中使用 Chartboost, 请创建一个 bridging header 并添加以下代码:
#import <Chartboost/Chartboost.h>
。![]() |
添加导入头文件
|
![]() |
在您的
|
startWithAppId
必须始终在您 App 启动的前几秒内
硬启动和软启动期间调用。与您 App 内任何其他操作或用户互动无关。针对欧洲的用户,开发者可以调用 Chartboost SDK 里的
addDataUseConsent
API 来设置用户的授权许可状态。作为服务条款的一部分,开发者需要向用户征求授权许可(同意、不同意、未知),然后用上述 API 传递给 Chartboost,此 API 的调用必须在执行 startWithAppId
之前。![]() |
添加您的 App ID和 App 签名。 |
- 使用您的 App ID 和 App 签名替换
YOUR_CHARTBOOST_APP_ID
和YOUR_CHARTBOOST_APP_SIGNATURE
。 - 我在哪里可以找到我的 App ID 和 App 签名?
Chartboost App ID 作为广告系统唯一的标识符,每个 App 必须使用单独的 Chartboost App ID 。
![]() |
要显示静态或视频插播式广告: |
插屏广告需要提前创建以及缓存,请用以下方法创建及缓存插屏广告:
CHBInterstitial *interstitial = [[CHBInterstitial alloc] initWithLocation:CBLocationDefault delegate:self];
[interstitial cache];
当插屏广告缓存成功,可以使用下面的方法进行展示:
[interstitial showFromViewController:self];
- 如果插屏广告在展示之前没有缓存成功,展示将失败,同时会调用下面的代理函数
didShow:error
,并且输出错误代码:CHBShowErrorCodeNoCachedAd
。 - 您可以在展示广告之前用 isCached 来确认广告是否已经提前缓存。
-
范例:
if (interstitial.isCached) { [interstitial showFromViewController:self]; }
- 对于自定义控制您游戏中的广告如何显示,Chartboost SDK 也提供更多功能如缓存、委托方法和命名位置。
- 了解更多关于 Chartboost 视频广告的信息
预缓存的视频(总计)只占用 30-50MB,即使您正在使用聚合广告平台。
点击 这里了解更多 Delegate 代理方法。
![]() |
要显示激励式视频广告: |
激励视频广告需要提前创建和缓存缓存。使用下列的方法来创建和缓存激励视频广告:
CHBRewarded *rewarded = [[CHBRewarded alloc] initWithLocation:CBLocationDefault delegate:self];
[rewarded cache];
当激励视频广告缓存成功,可以使用下面的方法进行展示:
[rewarded showFromViewController:self];
- 如果激励视频广告在展示之前没有缓存成功,展示将失败,同时会调用下面的代理函数
didShow:error
,并且输出错误代码:CHBShowErrorCodeNoCachedAd
。 - 您可以在展示广告之前用 isCached 来确认广告是否已经提前缓存:
-
Example:
if (rewarded.isCached) { [rewarded showFromViewController:self]; }
- 了解更多关于 Chartboost 视频广告的信息。
预缓存的视频(总计)只占用 30-50MB,即使您正在使用聚合平台。
点击 这里了解更多 Delegate 代理方法。
![]() |
展示横幅广告: |
[banner showFromViewController:self];
是用来展示 Chartboost 横幅广告的代理方法。- 详情请参考 使用 Chartboost 横幅广告
要确保展示横幅广告,首先要新建一个横幅广告对象,详情请参考 这里,然后调用上述的代理方法。
默认情况下,横幅广告会自动刷新并更新其内容,刷新评率为 30 秒一次。
如果您希望关闭横幅广告的自动刷新,可以通过设置
automaticallyRefreshesContent
的属性值为 NO
实现。![]() |
测试您的集成。 |
- 在设备或模拟器上从 Xcode 构建和运行您的项目。
- 如果您有一个活动广告发布活动并集成了“显示插页式广告”或“显示激励式视频广告”调用,您应该看到上线广告。
- 为什么我在我的游戏中看不到广告?
![]() |
在 Chartboost 后台控制面板中检查 SDK 图标。 |
- 转到您 App 的App 设置 > 基本设置在您的后台.
- 当我们的服务器成功从我们的 SDK 使用您的 App ID 接收启动调用时,您 App 图标下的 SDK 将从灰色转为绿色。

太好了!您刚刚完成了在您的 App 中集成 Chartboost SDK!
现在您可以开始广告活动▶
查看更多 Chartboost SDK 功能
- 缓存:通过设备上本地存储广告加快广告加载时间。
- Chartboost 视频:添加漂亮的高品质的视频广告,为玩家提供最佳的游戏内体验。
- 命名位置:在后台控制面板中精调您的广告活动定位和广告频率。
- 委托方法:更多控制您游戏中广告相关的操作
- SDK 配置方法:访问 Chartboost SDK 的功能和设置。
- 聚合:与其他高品质网络的广告一起显示您的广告。
您可能还喜欢…
- 错误代码:集成 iOS 版 SDK 时常见问题及其解决办法。
▲返回首页
Last Updated on 6月 28, 2021