Monetize

最后更新于

July 15, 2022

Android (文章)

开始之前

  • 注册了 Chartboost 帐户了吗?
  • 您是否在仪表板中添加了应用程序
  • Amazon 集成使用与 Android 相同的 SDK。 这些集成说明适用于 Google Play 或 Amazon App Store 的游戏。
  • Chartboost 示例应用程序可在此处获得。

发布商应从 Chartboost SDK 调用 addDataUseConsent API,并传入适当的值来确定同意是否存在、不存在或未知。 作为服务条款的一部分,发布商需要在 Chartboost 处理任何个人数据并通过上述方法将其传递给 Chartboost SDK 之前获得其用户的同意。 此方法应在 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 之前。

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

  • 要集成Chartboost,请将下列内容添加到 Android 项目的 Gradle 文件里:

ANDROID

content_copybrightness_medium

repositories {
   mavenCentral()
}
dependencies {
   implementation 'com.chartboost:chartboost-sdk:8.2.1'
}

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

  • Google Play服务库拥有自己的一套整合说明,包括Android Manifest 和 ProGuard 配置的附加功能。
  • 请遵照来自 Google 的这些设置说明。
  • 接下来需要加入 Play Services 库。将下面两行配置加入到 build.gradle 文件:

ANDROID

content_copybrightness_medium

implementation "com.google.android.gms:play-services-base:$project.ext.googlePlayServicesVersion"
implementation "com.google.android.gms:play-services-ads-identifier:$project.ext.googlePlayServicesVersion"

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


ANDROID

content_copybrightness_medium

<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",否则视频可能无法正确显示。

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


ANDROID

content_copybrightness_medium

android:configChanges="keyboardHidden|orientation|screenSize"

这有助于在屏幕方向改变时平滑播放视频。

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


ANDROID

content_copybrightness_medium

import com.chartboost.sdk.Chartboost;
import com.chartboost.sdk.CBLocation;
import com.chartboost.sdk.ChartboostDelegate;


ANDROID

content_copybrightness_medium

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;

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

  • 请扩展您主要活动的onCreate生命周期方法。Chartboost SDK 8.0.1 版以后将改为传递 context 作为参数。如下所示:


ANDROID

content_copybrightness_medium

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 之前。

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

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

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


ANDROID

content_copybrightness_medium

Chartboost.cacheInterstitial(CBLocation.LOCATION_DEFAULT);
Chartboost.showInterstitial(CBLocation.LOCATION_DEFAULT);

不要为同一位置直接调用 showInterstitial,在 cacheInterstitial之后,否则 SDK 将悄然失效。

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

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

9. 显示激励式视频广告:


ANDROID

content_copybrightness_medium

Chartboost.cacheRewardedVideo(CBLocation.LOCATION_GAMEOVER);
Chartboost.showRewardedVideo(CBLocation.LOCATION_GAMEOVER);

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

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

10. 显示 Banner 横幅广告:


ANDROID

content_copybrightness_medium

chartboostBanner.cache()
chartboostBanner.show()

横幅广告不支持亚马逊集成。

要显示 Banner 横幅广告,您需要先创建它。 (详情请参考 这里),然后调用相应的代理函数。

默认情况下,Banner 横幅广告会自动刷新。默认刷新间隔是 30 秒。

如果您想关闭自动刷新,可以通过调用 setAutomaticallyRefreshesContent 方法并传递参数值为 false 来实现。

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


ANDROID

content_copybrightness_medium

-keep class com.chartboost.** { *; }

专业提示:请遵照 Google Play Services 的说明正确设置 ProGuard。

12. 测试您的集成。

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

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

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

现在您可以开始发布广告

查看更多 Chartboost SDK 功能

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

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

  • 添加以下代码来扩展您活动的 onBackPressed() 方法:


ANDROID

content_copybrightness_medium

@Override
public void onBackPressed() {
   // If an interstitial is on screen, close it.
   if (Chartboost.onBackPressed())
       return;
   else
       super.onBackPressed();
}

@Overridepublic void onBackPressed() { // If an interstitial is on screen, close it. if (Chartboost.onBackPressed()) return; else super.onBackPressed();}
您可能还喜欢…

▲返回页首