iOS

已经全面支持 iOS 14,详情请点击


 

在您开始之前:

  • 您有没有注册Chartboost 帐户?
  • 是否将App 添加到了您的后台控制面板?
  • 是否下载了最新的 SDK?
  • 是否下载了 Chartboost 范例 App
  • 如果您正在使用旧版本的 SDK (8.0.4 及以前),请参考 这里 进行集成
  • 如果您正打算从 8.1.0 升级到 8.2.0, 请参考 这i里 来检查更新的内容以及升级步骤。
  • 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 里添加一个 -ObjC 参数,对Debug 和 Release 作同样设置。

 
 

链接 StoreKit, Foundation, CoreGraphics, WebKit, AVFoundationUIKit框架。


添加 Chartboost 专属的 SKAdNetworkIdentifier 列表到 Info.plist 文件

这一步是集成 iOS 14 的必要选项.
在您项目的 Info.plist 文件里添加名为 SKAdNetworkItems 的 Dictionary 数组,然后添加 Chartboost 的 SKAdNetworkIdentifier,取值: F38H382JLK.skadnetwork ,以及其他合作方的 SKAdNetworkIdentifier 列表。
查看 SKAdNetwork IDs 列表 ,关于 Info.plist 的更多信息请参考 Apple 官方的 SKAdNetwork Configuring the Participating Apps 和 Editing your property lists 页面。
 
<key>SKAdNetworkItems</key>
<array>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>2U9PT9HC89.skadnetwork</string>
  <dict/>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>44jx6755aq.skadnetwork</string>
  <dict/>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>4FZDC2EVR5.skadnetwork</string>
  <dict/>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>4PFYVQ9L8R.skadnetwork</string>
  <dict/>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>737z793b9f.skadnetwork</string>
  <dict/>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>7UG5ZH24HU.skadnetwork</string>
  <dict/>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>8s468mfl3y.skadnetwork</string>
  <dict/>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>9RD848Q2BZ.skadnetwork</string>
  <dict/>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>9T245VHMPL.skadnetwork</string>
  <dict/>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>av6w8kgt66.skadnetwork</string>
  <dict/>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>c6k4g5qg8m.skadnetwork</string>
  <dict/>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>CJ5566H2GA.skadnetwork</string>
  <dict/>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>F38H382JLK.skadnetwork</string>
  <dict/>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>GLQZH8VGBY.skadnetwork</string>
  <dict/>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>hs6bdukanm.skadnetwork</string>
  <dict/>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>mlmmfzh3r3.skadnetwork</string>
  <dict/>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>prcb7njmu6.skadnetwork</string>
  <dict/>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>T38B2KH725.skadnetwork</string>
  <dict/>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>TL55SBB4FM.skadnetwork</string>
  <dict/>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>W9Q455WK68.skadnetwork</string>
  <dict/>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>wg4vff78zm.skadnetwork</string>
  <dict/>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>YCLNXRL5PM.skadnetwork</string>
  <dict/>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>ydx93a7ass.skadnetwork</string>
  <dict/>
</array>
 
 SKAdNetwork IDs 列表里的每组元素都以独立的 dict 元素添加 (注意: Chartboost 会持续更新这个列表)。

在 Info.plist 文件里配置 App Transport Security

Apple 在 iOS9以后发布了 ATS 声明,以避免  App 在发送 HTTP 请求时使用不加密的明文。尽管 Chartboost 始终使用加密的 HTTPS, 但某些广告有可能依旧会使用 HTTP 来加载第三方资源。
 
所以我们建议您在 Info.plist 文件里添加下列的字段:NSAllowsArbitraryLoads, NSAllowsArbitraryLoads, NSAllowsArbitraryLoadsInWebContent,并将它们设置成 true 值:
<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    <key>NSAllowsArbitraryLoadsForMedia</key>
    <true/>
    <key>NSAllowsArbitraryLoadsInWebContent</key>
    <true/>
</dict>

在 Swift 项目中添加头文件

如果你希望在 Swift 项目中使用 Chartboost, 请创建一个 bridging header 并添加以下代码: #import <Chartboost/Chartboost.h>

添加导入头文件#import <Chartboost/Chartboost.h>到您的 AppDelegate.m文件。

 
 

在您的didFinishLaunchingWithOptions方法中初始化 Chartboost。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions       
{
    // Initialize the Chartboost library
    [Chartboost startWithAppId:@"YOUR_CHARTBOOST_APP_ID”
                  appSignature:@ "YOUR_CHARTBOOST_APP_SIGNATURE”
                    completion:^(BOOL success) {
        // Chartboost was initialized if success is YES
    }];
    return YES;
}
 
startWithAppId必须始终在您 App 启动的前几秒内 硬启动和软启动期间调用。与您 App 内任何其他操作或用户互动无关。
针对欧洲的用户,开发者可以调用 Chartboost SDK 里的 addDataUseConsent API 来设置用户的授权许可状态。作为服务条款的一部分,开发者需要向用户征求授权许可(同意、不同意、未知),然后用上述 API 传递给 Chartboost,此 API 的调用必须在执行  startWithAppId 之前。

 

添加您的 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 代理方法。

展示横幅广告:

要确保展示横幅广告,首先要新建一个横幅广告对象,详情请参考 这里,然后调用上述的代理方法。
默认情况下,横幅广告会自动刷新并更新其内容,刷新评率为 30 秒一次。
如果您希望关闭横幅广告的自动刷新,可以通过设置 automaticallyRefreshesContent 的属性值为 NO 实现。

 

测试您的集成。

  • 在设备或模拟器上从 Xcode 构建和运行您的项目。
  • 如果您有一个活动广告发布活动并集成了“显示插页式广告”或“显示激励式视频广告”调用,您应该看到上线广告。
  • 如果您没有任何广告发布活动并且您仍然集成了这些调用,您可以使用测试模式看看是否显示测试广告。
  • 为什么我在我的游戏中看不到广告?
 
 

在 Chartboost 后台控制面板中检查 SDK 图标。

  • 转到您 App 的App 设置 > 基本设置在您的后台.
  • 当我们的服务器成功从我们的 SDK 使用您的 App ID 接收启动调用时,您 App 图标下的 SDK 将从灰色转为绿色。
 
 

太好了!您刚刚完成了在您的 App 中集成 Chartboost SDK!

现在您可以开始广告活动▶

 
 

查看更多 Chartboost SDK 功能

  • 缓存:通过设备上本地存储广告加快广告加载时间。
  • Chartboost 视频:添加漂亮的高品质的视频广告,为玩家提供最佳的游戏内体验。
  • 命名位置:在后台控制面板中精调您的广告活动定位和广告频率。
  • 委托方法:更多控制您游戏中广告相关的操作
  • SDK 配置方法:访问 Chartboost SDK 的功能和设置。
  • 聚合:与其他高品质网络的广告一起显示您的广告。
 
您可能还喜欢…
 

▲返回首页