Android & Amazon SDK 8.1.0

 

开始之前

  • 您是否已经注册了Chartboost 帐户?
  • 您是否在后台控制面板上添加了应用程序?
  • 使用旧版本的 SDK (7.5.0 及更旧版本)请  参考这里
  • 从 7.5.0 升级到 8.x+ 请 参考这里 获取详细的 API 改动细节及集成步骤。
  • 亚马逊集成使用与 Android 相同的 SDK。这些集成说明适用于 Google Play 或 Amazon App Store 的游戏。
  • Chartboost Android 范例项目 下载地址
  • 如果您的游戏在 Unity 中构建,强烈建议使用我们的 Android Unity 插件。如果您喜欢配合自己的 Unity 适配器使用 Android SDK,请使用这一方法以确保广告在您的游戏中显示。
开发者可以调用 Chartboost SDK 中的 addDataUseConsent API 来传递终端用户关于 GDPR 的授权状态:同意授权、不同意或者未知。开发者需要提前向终端用户展示相关的条款并获得终端用户的许可。Chartboost 会根据上述 API 传递的数据来决定是否会为该用户展示上下文相关的广告内容。这个 API 必须在 startWithAppId之前调用。
更多关于隐私条款请查看 这里

必要和非必要的权限

  • Chartboost SDK 要求 API 等级21(Android OS 5)或更高版本。
  • 所需权限: android.permission.INTERNET
  • 所需权限: android.permission.ACCESS_NETWORK_STATE
  • 可选(但建议使用)权限: android.permission.READ_PHONE_STATE允许 SDK 处理中断视频播放的调用。
GDPR 相关:针对欧洲的用户,开发者可以调用 Chartboost SDK 里的 setPIDataUseConsent API 来设置用户的授权许可状态。作为服务条款的一部分,开发者需要向用户征求授权许可(同意、不同意、未知),然后用上述 API 传递给 Chartboost,此 API 的调用必须在执行  startWithAppId 之前。

请将 Chartboost远程安装库的地址和依赖库连接添加至您项目的Gradle文件里。

  • 要集成Chartboost,请将下列内容添加到 Android 项目的 Gradle 文件里:
repositories {
    maven { url "https://chartboostmobile.bintray.com/Chartboost" }
}
dependencies {
    implementation 'com.chartboost:chartboost-sdk:8.1.0'
}

 

请添加 Google Play 服务库作为您项目的依赖项。Chartboost 7.2.1 及以上版本需要添加 “play-services-base” 和 “play-services-ads-identifier” 库的支持

  • Google Play服务库拥有自己的一套整合说明,包括Android Manifest 和 ProGuard 配置的附加功能。
  • 请遵照来自 Google 的这些设置说明。
  • 接下来需要加入 Play Services 库。将下面两行配置加入到 build.gradle 文件:
implementation "com.google.android.gms:play-services-base:$project.ext.googlePlayServicesVersion"
implementation "com.google.android.gms:play-services-ads-identifier:$project.ext.googlePlayServicesVersion"

 

请在您的AndroidManifest.xml文件中添加以下条目。

<activity android:name="com.chartboost.sdk.CBImpressionActivity"
               android:excludeFromRecents="true"
               android:hardwareAccelerated="true"
               android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
               android:configChanges="keyboardHidden|orientation|screenSize" />
对于不包含 CBImpressionActivity的复杂集成,显示 Chartboost 广告的任何活动 必须在 Android 清单的活动条目中有值 android:hardwareAccelerated="true",否则视频可能无法正确显示。
 
 

如果您在支持不同屏幕显示方向的活动中显示 Chartboost 广告,请将以下属性添加至该文件的活动中AndroidManifest.xml.

android:configChanges="keyboardHidden|orientation|screenSize"
这有助于在屏幕方向改变时平滑播放视频。
 
 

用下列的代码将 Chartboost SDK 导入你需要使用它的代码活动类里(Activity)。

import com.chartboost.sdk.Chartboost;
import com.chartboost.sdk.CBLocation;
import com.chartboost.sdk.ChartboostDelegate;
   
import com.chartboost.sdk.Libraries.CBLogging.Level;
import com.chartboost.sdk.Model.CBError.CBClickError;
import com.chartboost.sdk.Model.CBError.CBImpressionError;
import com.chartboost.sdk.Tracking.CBAnalytics;
import com.chartboost.sdk.CBImpressionActivity;
 
 

在您的启动器活动类中初始化 Chartboost SDK。

  • 请扩展您主要活动的onCreate生命周期方法。Chartboost SDK 8.0.1 版以后将改为传递 context 作为参数。如下所示:
public static void startWithAppId(Context context, String appId, String appSignature)
专业提示:请留意 Exception: Initialization error信息。这表明 SDK 未正确初始化。
专业提示:如果你使用自己编写的 Unity 适配器来调用 Android SDK,需要在执行 startWithAppId之后马上调用 Chartboost.setFramework(CBFramework.CBFrameworkUnity, unityVersion);将 Unity 设定为框架。其中 unityVersion的值可以通过 此 Unity 功能返回的值进行替换。.
startWithAppId必须始终在您 App 启动的前几秒内 硬启动和软启动期间调用。与您应用程序内的任何其他操作或用户互动无关。
 
GDPR 相关:针对欧洲的用户,开发者可以调用 Chartboost SDK 里的 setPIDataUseConsent API 来设置用户的授权许可状态。作为服务条款的一部分,开发者需要向用户征求授权许可(同意、不同意、未知),然后用上述 API 传递给 Chartboost,此 API 的调用必须在执行  startWithAppId 之前。

 

添加您的 App ID 和 App 签名。

Chartboost App ID 是系统的唯一标识符, 每个 App 必须使用单独的 Chartboost App ID .

若要显示静态广告或视频插页式广告:

 
Chartboost.cacheInterstitial(CBLocation.LOCATION_DEFAULT);
Chartboost.showInterstitial(CBLocation.LOCATION_DEFAULT);
 
不要为同一位置直接调用 showInterstitial,在 cacheInterstitial之后,否则 SDK 将悄然失效。
我们 强烈建议您在显示插页式广告之前对其进行缓存。 了解更多关于缓存的信息▶
即使您正在使用聚合功能,预取的视频(总计)也只占用 30-50MB。

 

显示激励式视频广告:

Chartboost.cacheRewardedVideo(CBLocation.LOCATION_GAMEOVER);
Chartboost.showRewardedVideo(CBLocation.LOCATION_GAMEOVER);
 
请勿在cacheInterstitial之后 直接为同一位置调用 showInterstitial,否则 SDK 将悄然失效。
我们强烈建议您在显示插页式广告之前对其进行缓存。 了解更多关于缓存的信息▶
即使您正在使用聚合功能,预取的视频(总计)也只占用 30-50MB。

显示 Banner 横幅广告:

chartboostBanner.cache()
chartboostBanner.show()
要显示 Banner 横幅广告,您需要先创建它。 (详情请参考 这里),然后调用相应的代理函数。
默认情况下,Banner 横幅广告会自动刷新。默认刷新间隔是 30 秒。
如果您想关闭自动刷新,可以通过调用 setAutomaticallyRefreshesContent 方法并传递参数值为 false 来实现。

 

如果您正在使用 ProGuard,请将以下项目添加至您的proguard-rules.pro:

-keep class com.chartboost.** { *; }
专业提示:请遵照 Google Play Services 的说明正确设置 ProGuard。
 
 

测试您的集成。

  • 在 Android 设备上运行您的项目。
  • 如果您有活跃的广告发布活动并集成了“显示插页式广告”或“显示激励式视频广告”调用,应可看到上线的广告。
  • 如果您没有任何广告发布活动但仍集成了这些调用,可使用测试模式查看是否显示测试广告。
  • 为什么我在游戏中看不到广告?
 
 

查看 Chartboost 后台控制面板中的SDK 图标

  • 在您的控制面板中,前往您应用程序的 App 设置>基本设置
  • 当我们的服务器使用您的 App ID从SDK 成功接收启动调用时,您应用程序图标下方的 SDK 图标将从灰色变为绿色。
 
 

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

现在您可以开始发布广告

 
 

查看更多 Chartboost SDK 功能

  • 缓存:通过在设备上本地存储广告加快广告加载时间。
  • Chartboost 视频:添加美观的高品质视频广告,为玩家提供最佳的游戏中体验。
  • 命名位置:在后台控制面板中对您的广告定位和广告频率进行微调。
  • 委托方法:在广告环境中获得更强的游戏操控能力
  • SDK 配置方法:访问 Chartboost SDK 的功能和设置。
  • 聚合:将您的广告与其他高品质网络的众多广告一同显示。
 

GDPR

  public void onCreate() {
      super.onCreate();
      // Get the consent status via the Chartboost.getPIDataUseConsent().getValue() method. 
      Chartboost.getPIDataUseConsent().getValue()

      // Set the consent status corresponding to the user's response using 
      // the Chartboost.setPIDataUseConsent(this, Chartboost.CBPIDataUseConsent.YES_BEHAVIORAL) method.
      Chartboost.setPIDataUseConsent(this, Chartboost.CBPIDataUseConsent.YES_BEHAVIORAL)

      Chartboost.startWithAppId(this, appId, appSignature);
   }   

 

覆盖您活动的生命周期方法。

  • 添加以下代码来扩展您活动的 onBackPressed() 方法:
@Override
public void onBackPressed() {
    // If an interstitial is on screen, close it.
    if (Chartboost.onBackPressed())
        return;
    else
        super.onBackPressed();
}

   
您可能还喜欢…
  • 错误代码:集成 Anftoid 版 SDK 时d 常见问题及解决办法。
 

▲返回页首