-
- 开始之前
- 请将 chartboost.jar 添加至您的 libs 目录
- 正在添加 Google Play Services 库
- 正在添加至 Android 清单
- 正在支持方向变化
- 正在导入 Chartboost SDK
- 正在初始化 Chartboost SDK
- 正在添加您的 App ID 和 App 签名
- 正在覆盖活动生命周期方法
- 正在显示静态或视频插页式广告
- 正在显示激励式视频广告
- 正在使用 ProGuard
- 正在测试您的集成
- 正在后台控制面板中检查 SDK 图标
- 正在使用 OpenGL 和旧版 Chartboost SDK
- 更多 SDK 功能
- GDPR
开始之前
- 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
之前。从 7.5.0 升级到 8.0.1+ 请 参考这里 获取详细的 API 改动细节及集成步骤。
请将chartboost.jar文件添加至您的libs目录。
- 如果没有libs文件夹,请创建并添加 .jar 文件。
- 可选项:请添加
chartboost.jar.properties
和doc目录至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;
- 若在使用 SDK 附加功能时,您要导入这些活动:
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 签名。
- 使用您的 App ID 和 App 签名替换
appID
和appSignature
。 - 在哪里能找到我的 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);
- 您可使用
CBLocation
接口类获得默认位置常量的列表并自行定义。一旦使用某个位置,它会被添加至您的后台控制面板,您可在此自定义其设置。 - 为了自定义控制广告在游戏中的表现,Chartboost SDK 还提供更多功能如缓存、委托方法和命名位置。
- 了解更多关于 Chartboost 视频广告的信息▶
不要为同一位置直接调用showInterstitial
,在cacheInterstitial
之后,否则 SDK 将悄然失效。我们 强烈建议您在显示插页式广告之前对其进行缓存。 了解更多关于缓存的信息▶即使您正在使用聚合功能,预取的视频(总计)也只占用 30-50MB。
要显示激励式视频广告:
Chartboost.cacheRewardedVideo(CBLocation.LOCATION_GAMEOVER); Chartboost.showRewardedVideo(CBLocation.LOCATION_GAMEOVER);
- 为了自定义控制广告在游戏中的表现,Chartboost SDK 还提供更多功能如缓存、委托方法和命名位置。
- 了解更多关于 Chartboost 视频广告的信息▶
请勿在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 常见问题及解决办法。
▲返回页首
Last Updated on 7月 7, 2020