最后更新于
June 7, 2023
Chartboost SDK 有多大?
实际的 SDK 包下载文件可能要大得多,因为它包含示例代码和完整的 Chartboost 框架。 编译后可以删除其中许多文件。
您不应该为多个应用程序使用相同的应用程序 ID 和签名!
最好的做法是在您的 Chartboost 平台上创建一个全新的应用程序。
iTunes Connect
Google Play
亚马逊应用商店
您的浏览器可能没有更新您的缓存或 cookie。 尝试删除浏览器缓存和 cookie。 有关说明,请单击您正在使用的浏览器:
还是行不通? 请告诉我们!
当您忘记将一个或多个框架链接到您的项目时,很可能会出现链接器错误。 请查看 iOS 集成文档中最新 SDK 所需的框架,并确保您的项目链接到所有这些框架。 如果您仍然看到链接器错误,可能是您在 XCode 项目的构建设置中缺少 -ObjC 链接器标志,需要将其添加回 Other Linker Flags 字段。
插页式广告在 iPad 2 模拟器上可能会显得很大或“放大”。 这是因为模拟器没有将true实的设备模型传回给 Chartboost。 如果您使用不同的模拟器或实际设备,您将不会遇到此行为。
是的。 Chartboost SDK 和所有链接都与 App Transport Security 兼容。 如果您想运行链接到您公司网站的交叉推广活动,或者以其他方式将广告定向到应用商店以外的位置,请确保您使用 https,拥有有效的 SSL 证书,并遵循其他方法来确保您的 自定义 URL 链接仍然符合 ATS 标准。
为避免此警告,您需要确保在使用 Chartboost 方法 [Chartboost startWithAppId:@"..." appSignature:@"..." delegate:self] 时传入的对象类 委托符合 ChartboostDelegate 协议。
检查您的 AppDelegate.h 文件并确保接口包含正确的委托引用:@interface AppDelegate : UIResponder <UIApplicationDelegate, ChartboostDelegate>
有关更详细的说明,请参阅 Apple 文档的“符合协议”部分。
您的 Android 应用的清单设置可能存在问题。 任何显示 Chartboost 广告的Activity都必须在其 Android 清单上的Activity条目中具有值 android:hardwareAccelerated="true",否则视频可能无法正确显示。
如果您在 Unity 之外的 Android 上进行开发,请检查您的 Android 清单文件以确保包含以下内容。 如果没有,添加这个并重新测试:
<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" />
您可以通过在 AndroidManifest.xml 中的顶级应用程序条目中添加 android:hardwareAccelerated='true' 来在整个应用程序中启用硬件加速,而不是为显示广告的个别Activity启用硬件加速
如果您通过 Unity 在 Android 上进行开发,并且您没有使用官方的 Chartboost 插件,请在调用 startWithAppId 方法后立即进行此调用:
Chartboost.setFramework(CBFramework.CBFrameworkUnity, unityVersion);
unityVersion 是 Application.unityVersion 返回的值 如果您仍然有问题,请随时与我们联系。 也请告诉我们...
在某些情况下,原生 Android 或 Unity Android 开发人员可能更愿意使用Activity而不是视图来显示 Chartboost 广告。 虽然Activity在使用某些游戏引擎构建的游戏中可能效果更好,但我们鼓励您同时尝试这两种方法,因为这两种方法都有利有弊。
如果您愿意,您还可以绕过将 Google Play 服务库包含在您的 Unity 构建中的要求。 如果您从清单中删除以下内容:
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version"/>
然后系统将不再提示您运行设置对话框,并且您的应用程序应该能够照常运行。
Exception in thread "main" java.lang.Error: Unable to find named traits: com.chartboost.plugin.air::Chartboost
如果您在构建应用程序时遇到与此类似的错误,通常表示 AIR 本机扩展未正确打包。 确保您已将此插件的扩展 ID 包含在您的应用程序描述符 XML 文件中。 还要验证当您导出构建时,Chartboost ANE 是否与您的应用程序打包在一起。
Chartboost 初始化调用必须在您的应用程序启动的前几秒内的硬启动和软启动期间进行,无论您的应用程序中有任何其他操作或用户交互。
请查看 SDK 集成指南了解更具体的要求。
您可以通过调用以下方法找到您正在运行的 SDK 版本:
NSLog(@"Using Chartboost version: %@", [Chartboost getSDKVersion]);
public static String getSDKVersion() {return CBConstants.SDK_VERSION;}
或者,您也可以...
如果您的集成图标没有变绿,这意味着您的应用程序尚未成功正确初始化我们的 SDK。 我们强烈建议您查看 Chartboost SDK 集成指南的初始化部分。
为了确认您的应用程序是否成功初始化了我们的 SDK,您可以使用应用程序 Charles the Web Proxy。 您正在寻找的初始化调用在我们的 Charles Page 的 Interpreting Charles Results 部分有详细说明。
我们支持原生 Objective-C、Java、Unity 和 Adobe AIR。
是的,如果您的应用程序尚未在 App Store、Google Play Store 或 Amazon Appstore for Android 上架,您仍然可以集成 Chartboost SDK 并运行测试。 只需将您的应用程序添加到平台,在您的游戏上线后,按照该页面上的步骤添加您的市场 URL 或 ASIN。
如果您已集成 Chartboost SDK 并完成您的构建,您就可以提交到 App Store! 但是,在执行此操作之前,我们有一些提示和建议:
自 2016 年 6 月 1 日起,Apple 要求所有提交的应用程序必须支持 IPv6。
这是确保我们准确跟踪分析和捕获转化的最佳方式。 由于单个网络调用可能因多种原因而失败,因此明智的做法是在您的应用程序每次激活时初始化 Chartboost 以确保不会出现这种情况。
请阅读我们的条款和条件以了解更多信息。
我们对 iOS 游戏使用 IFA(广告标识符); Google Play 游戏的 Android ID 和 Google Play 服务广告 ID。 了解更多
对于 iOS:AFNetworking
对于 Android:Volley
是的,但是在这样做时您应该记住以下几点:
因为 Apple 的 Game Center 视图可以覆盖 Chartboost activity,所以您可以使用 rootView 在单独的视图中显示插页式广告。 (SDK 版本 3.2+)例如:假设我们有一个双视图加载序列,其中一个加载视图和一个 MenuView 类型的菜单视图。 我们可以将 Chartboost rootView 设置为 MenuView 的一个实例。 之后,无论何时调用 showInterstitial,插页式广告都将仅针对 MenuView 视图进行预呈现。 在显示 MenuView 视图之前,不会出现插页式广告。 这样设置 [Chartboost sharedChartboost].rootView = gameMenu; 即可,其中 gameMenu 是一个已经初始化的 MenuView 实例。
一旦您从当前设置为 rootView 的视图切换出去,请务必将 rootView 设置为“nil”。 如果您错过了这一步,插页式广告将不会显示在您游戏的其他任何地方! 将 rootView 设置为 nil 这样设置[Chartboost sharedChartboost].rootView = nil; 即可。
注意:
如果您不想启用 Moat,请删除 CHAMoatMobileAppKit.framework 并且不要将其与您的 Xcode 项目链接。 如果您不使用 Moat,则不需要在 XCode 项目的构建设置部分的其他链接器标志属性中添加 -ObjC 条目。