Monetize

最后更新于

August 12, 2022

Unity (SDK Integration) (文章)

开始之前

将 SDK 添加至您的游戏简便快捷,只需几样东西:

  • Chartboost 帐户
  • 后台控制面板中有应用程序
  • 最新的 SDK
  • 活跃的广告发布活动
  • 请注意,Chartboost 支持 Android 5 以上版本和 iOS 9.0版,因此请确保相应地设置Unity项目的最低操作系统版本。
  • 此外,为确保与Android 6.0 Marshmallow设备和功能的兼容性,您应确保自己正在构建、编译和定位最新的Google Android SDK(至少API等级23)。 (但是,“最低限度”的SDK的定位仍是API等级16)

必须在您的应用程序硬启动或软启动的头几秒内 调用 Chartboost 初始化,与您应用程序内的任何其他操作或用户互动无关。

开发者可以调用 Chartboost SDK 里的 Chartboost.addDataUseConsent API 来设置用户的授权许可状态。作为服务条款的一部分,开发者需要向用户征求授权许可(同意、不同意、未知),然后用上述 API 传递给 Chartboost,此 API 的调用必须在执行 startWithAppId 之前。

GDPR / CCPA 的相关内容,开发者可以 参考这里

1. 将 Chartboost Unity 数据包导入到您的项目中。

若您正在构建 iOS 版,可跳过Plugins/Android子目录;如果您正在构建 Android 版,可跳过Plugins/iOS子目录。 这些文件将被整理为几个不同的目录:

  • /Assets/Chartboost/Editor:用于 Unity Editor 集成的 Chartboost C# 代码和 Postprocessbuildscript
  • /Assets/Chartboost/Resources:此文件夹含有 ChartboostSettings 文件,其中包含用于您 iOS 和 Android 应用程序的AppId和AppSignature
  • /Assets/Chartboost/Scripts:Chartboost 使用的 C# 代码。我们所有面向公众的功能均收在Chartboost.cs,在这个文件夹中
  • /Assets/ChartboostExample:演示如何使用 Chartboost SDK 的示例场景
  • /Assets/Plugins/iOS:有助于将其集成到Unity中的 Chartboost Objective-C 代码
  • /Assets/Plugins/Android:Chartboost Android 库文件

想要立即动手吗?请查看ChartboostExample测试演示场景时请务必查看日志,因为某些按钮不会有明显的效果。

Android:对于替换插件中包含的Android Manifest的复杂集成,可显示Chartboost广告的任何活动 必须在 Android 清单的活动条目中有值 android:hardwareAccelerated="true",否则视频可能无法正确显示。

2. 如果要在 Google Play Store 中发布您的游戏,请将您的 Unity 项目与 Google Play Services 库进行链接。

  • 转至Chartboost > 编辑设置并点击设置 Android SDK.
  • 这会将 Google Play Services 库与您的 Unity 项目链接,Android 游戏集成 Chartboost SDK 需要该操作。
  • 这也需要通过 Android SDK Manager 安装 Google Play Services 库。请参见谷歌开发者网站了解更多信息。
  • 下载最新的 “Play Services Resolver” 插件:下载地址。 例如, 您可以找到 “1.2.129.0” 这个版本,下载地址在 这里
  • 将 “Play Services Resolver” 插件导入您的 Unity 项目。
  • 右键点击您项目里的 “Assets->Plugin->Android” 目录然后选择 “Player Services Resolver ->Android Resolver ->Resolve
  • 这个步骤需要您已经提前使用 Android SDK Manager 安装好了所需的 Google Play Services library 。 详情请参考 Google 开发者 网站。

3. 添加您的 App ID 和 App 签名。

从不使用的存储字段删除内部内容,例如 CB_AMAZON_APP_ID和 CB_AMAZON_APP_SIGNATURE字段,否则 Unity 会提示以下错误:W/Unity: CHARTBOOST: 您正在使用 Chartboost Android 示例 App ID!
请前往 Chartboost 后台控制面板,并使用您帐户的 App ID 和 App 签名替换这些内容!

Chartboost 的 App ID 是我们系统中区分 App 的惟一辨识符, 所以每个 App 都需要使用 单独的 Chartboost App ID。.

4. 在场景视图中将/Assets/Chartboost/Chartboost找到的 Chartboost Prefab 预设拖放到您的Unity 场景。

  • 这个 Chartboost Prefab 预设可自动处理基本的 SDK 行为,例如使用 App ID 和 App 签名进行初始化。
  • 提示:请将 Chartboost Prefab 预设拖放到仅运行一次的场景(例如启动场景)以获得最优效果。

5. 为展示插页式广告:

  • 使用 ChartboostSDK在每个调用 Chartboost 方法的 Unity.cs 的顶部包括一个参考。
  • 调用Chartboost 类公共职能出现在/Assets/Chartboost/Scripts/Chartboost.cs文件中。请查看示例项目中的ChartboostExample.cs
  • 为展示广告,您现在即可调用:

UNITY

content_copybrightness_medium

//在位置HomeScreen上显示插页式广告。
//请参阅Chartboost.cs以获取可用的位置选项。
Chartboost.showInterstitial(CBLocation.HomeScreen);

我们 强烈建议您在显示广告之前,对插页式广告进行缓存。 了解更多关于缓存的信息

即使您正在使用聚合功能,预取的视频(总计)也只占用 30-50MB。

GDPR 相关:针对欧洲的用户,开发者可以调用 Chartboost SDK 里的 Chartboost.addDataUseConsent API 来设置用户的授权许可状态。作为服务条款的一部分,开发者需要向用户征求授权许可(同意、不同意、未知),然后用上述 API 传递给 Chartboost,此 API 的调用必须在执行  startWithAppId 之前。

6. 如果您要构建到 iOS 设备:

  • 首次构建您的项目时,应该构建(而非构建并运行)以便一切都设置正确。
  • 一旦构建完成,打开创建的 Xcode 项目,并确保StoreKit,Security且CoreData框架已经加入到你的 Build Phases 编译选项里。
  • 对于 iOS 14 及以上,需要添加下列必要的 SKAdNetwork ID 到项目的 Info.plist 里,详情请参考 iOS 14 接入指南.

请注意防止链接意外断开 StoreKit.framework(例如通过禁用应用程序内购买),这发生在 Unity 创建Xcode 项目之后。 Chartboost SDK 需要此框架以正常运行。

7. 如果您打算编译到 Android 设备:

  • 若要构建您的项目,直接对 APK 文件进行操作;或者如您希望在 Java 中进一步修改,则导出为 Android 项目。
  • 如果您的应用程序支持多方向运行,调整configChanges设置,在您的<activity>标签中包括这些内容:

UNITY

content_copybrightness_medium

<activity android:name="com.chartboost.sdk.sample.SampleActivity"
   android:label="@string/app_name"
   android:configChanges="keyboardHidden|orientation|screenSize">

我们最新的 SDK 已经修复了与 Google Play Services Rev.30 的兼容问题。如果您已升级至 Rev.31,请确保您的 Google Repository 亦为最新版。

w00t!您刚把 Chartboost SDK 集成到应用程序中!

现在您可以开始广告活动

更多 SDK 功能

您可能还喜欢…

▲ 回到顶部