Android

  •  

    开始之前

      • 您是否已经注册了Chartboost 帐户?
      • 您是否在后台控制面板上添加了应用程序?
      • 您有没有下载最新的 SDK?
      • 您是否有活跃的广告发布活动?
      • 亚马逊集成使用与 Android 相同的 SDK。这些集成说明适用于 Google Play 或 Amazon App Store 的游戏。
      • 如果您的游戏在 Unity 中构建,强烈建议使用我们的Android Unity 插件。如果您喜欢配合自己的 Unity 适配器使用 Android SDK,请使用这一方法以确保广告在您的游戏中显示。
    • Chartboost SDK 要求 API 等级16(Android OS 4.1)或更高版本。
    • 所需权限: android.permission.INTERNET
    • 所需权限: android.permission.ACCESS_NETWORK_STATE
    • 可选(但建议使用)权限: android.permission.WRITE_EXTERNAL_STORAGE允许 SDK 在外部存储器缓存所有广告资源(广告素材、自定义边框等)。通过立即投放广告并减少 SDK 所用网络流量,让性能达到最大化。
    • 可选(但建议使用)权限: android.permission.ACCESS_WIFI_STATE允许 SDK 核对 HTTP 请求中的 WiFi 详情。这将与 Android ID 和/或 GAID 一起作为用户的标识符。请查看设备标识符,获取更多信息。
    • 可选(但建议使用)权限: android.permission.READ_PHONE_STATE允许 SDK 处理中断视频播放的调用。
    GDPR 相关:针对欧洲的用户,开发者可以调用 Chartboost SDK 里的 setPIDataUseConsent API 来设置用户的授权许可状态。作为服务条款的一部分,开发者需要向用户征求授权许可(同意、不同意、未知),然后用上述 API 传递给 Chartboost,此 API 的调用必须在执行  startWithAppId 之前。

    请将chartboost.jar文件添加至您的libs目录。

    • 如果没有libs文件夹,请创建并添加 .jar 文件。
    • 可选项:请添加chartboost.jar.propertiesdoc目录至libs以便在 IDE 中获得 Javadoc。
     
     

    请添加 Google Play 服务库作为您项目的依赖项。

    • 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"
    可使用高于 8.4.0 的任何版本。
     
     

    请在您的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 导入使用 Chartboost 的任何活动。

    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生命周期方法,如下所示:
    public class <your Class name> extends Activity {
                
    @Override
    public void onCreate() {
        super.onCreate();
        Chartboost.startWithAppId(this, appId, appSignature);
        Chartboost.onCreate(this);
        }   
    }
    
     
    • 或者,可通过简单地扩展ChartboostActivity,让 SDK 为您处理这一问题。这将避免采用重写活动生命周期的方法,如onCreate因此您可以只调用Chartboost.OnCreate().
    专业提示:请留意 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 .
     
     

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

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

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

     
    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。

     

    如果您正在使用 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);
          Chartboost.onCreate(this);
       }   
    

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

    ▲返回页首