Cocos2d-x Chartboost Android 初始化奇怪错误
Cocos2d-x Chartboost Android Initialization strange error
我正在使用 Cocos2d-x v3.2 和最新的 Chartboost android SDK v5.5.3。
我已经为 android 完成了 SDK 集成文档中提到的所有内容,但是当我的应用程序运行时,我在 logcat 中遇到了非常奇怪的错误。
这是我在 onCreate() 中的初始化代码
//Init Chartboost
Chartboost.startWithAppId(this, getString(R.string.chartboost_app_id), getString(R.string.chartboost_app_signature));
Chartboost.setImpressionsUseActivities(true);
Chartboost.setShouldRequestInterstitialsInFirstSession(false);
Chartboost.setDelegate(cbDelegate);
Chartboost.onCreate(this);
logcat 出现:
09-07 16:58:21.221: W/System.err(16168): java.lang.Exception: Chartboost Initialization error. Activity or appId or appSignature is invalid
09-07 16:58:21.222: W/System.err(16168): at com.chartboost.sdk.Chartboost.run(SourceFile:666)
09-07 16:58:21.222: W/System.err(16168): at com.chartboost.sdk.Chartboost.a(SourceFile:1129)
09-07 16:58:21.222: W/System.err(16168): at com.chartboost.sdk.Chartboost.cacheInterstitial(SourceFile:663)
09-07 16:58:21.222: W/System.err(16168): at com.android.Main.preloadChartboost(Main.java:1078)
09-07 16:58:21.224: W/System.err(16168): java.lang.Exception: Chartboost Initialization error. Activity or appId or appSignature is invalid
09-07 16:58:21.224: W/System.err(16168): at com.chartboost.sdk.Chartboost.run(SourceFile:733)
09-07 16:58:21.224: W/System.err(16168): at com.chartboost.sdk.Chartboost.a(SourceFile:1129)
09-07 16:58:21.224: W/System.err(16168): at com.chartboost.sdk.Chartboost.cacheMoreApps(SourceFile:730)
09-07 16:58:21.225: W/System.err(16168): at com.android.Main.preloadChartboost(Main.java:1079)
09-07 16:58:21.698: W/System.err(16168): java.lang.Exception: Chartboost Initialization error. Activity or appId or appSignature is invalid
09-07 16:58:21.698: W/System.err(16168): at com.chartboost.sdk.Chartboost.onCreate(SourceFile:169)
请告诉我,我做错了什么?
在尝试了很多解决方案后,我终于弄明白了是因为在错误的位置缓存广告导致的问题。
我之前在 init()
方法中调用了 Chartboost.cacheInterstitial(CBLocation.LOCATION_DEFAULT);
。将 Chartboost.cacheInterstitial(CBLocation.LOCATION_DEFAULT);
移动到其他地方后,例如 onResume()
,这个错误就消失了。
但我不知道为什么 logcat 说错误是因为 appID 或 appSignature 无效。太奇怪了!
我遇到的无效 appID 或 appSignature 问题是缺少必需的权限:
android.permission.WRITE_EXTERNAL_STORAGE
我正在使用 Cocos2d-x v3.2 和最新的 Chartboost android SDK v5.5.3。 我已经为 android 完成了 SDK 集成文档中提到的所有内容,但是当我的应用程序运行时,我在 logcat 中遇到了非常奇怪的错误。
这是我在 onCreate() 中的初始化代码
//Init Chartboost
Chartboost.startWithAppId(this, getString(R.string.chartboost_app_id), getString(R.string.chartboost_app_signature));
Chartboost.setImpressionsUseActivities(true);
Chartboost.setShouldRequestInterstitialsInFirstSession(false);
Chartboost.setDelegate(cbDelegate);
Chartboost.onCreate(this);
logcat 出现:
09-07 16:58:21.221: W/System.err(16168): java.lang.Exception: Chartboost Initialization error. Activity or appId or appSignature is invalid
09-07 16:58:21.222: W/System.err(16168): at com.chartboost.sdk.Chartboost.run(SourceFile:666)
09-07 16:58:21.222: W/System.err(16168): at com.chartboost.sdk.Chartboost.a(SourceFile:1129)
09-07 16:58:21.222: W/System.err(16168): at com.chartboost.sdk.Chartboost.cacheInterstitial(SourceFile:663)
09-07 16:58:21.222: W/System.err(16168): at com.android.Main.preloadChartboost(Main.java:1078)
09-07 16:58:21.224: W/System.err(16168): java.lang.Exception: Chartboost Initialization error. Activity or appId or appSignature is invalid
09-07 16:58:21.224: W/System.err(16168): at com.chartboost.sdk.Chartboost.run(SourceFile:733)
09-07 16:58:21.224: W/System.err(16168): at com.chartboost.sdk.Chartboost.a(SourceFile:1129)
09-07 16:58:21.224: W/System.err(16168): at com.chartboost.sdk.Chartboost.cacheMoreApps(SourceFile:730)
09-07 16:58:21.225: W/System.err(16168): at com.android.Main.preloadChartboost(Main.java:1079)
09-07 16:58:21.698: W/System.err(16168): java.lang.Exception: Chartboost Initialization error. Activity or appId or appSignature is invalid
09-07 16:58:21.698: W/System.err(16168): at com.chartboost.sdk.Chartboost.onCreate(SourceFile:169)
请告诉我,我做错了什么?
在尝试了很多解决方案后,我终于弄明白了是因为在错误的位置缓存广告导致的问题。
我之前在 init()
方法中调用了 Chartboost.cacheInterstitial(CBLocation.LOCATION_DEFAULT);
。将 Chartboost.cacheInterstitial(CBLocation.LOCATION_DEFAULT);
移动到其他地方后,例如 onResume()
,这个错误就消失了。
但我不知道为什么 logcat 说错误是因为 appID 或 appSignature 无效。太奇怪了!
我遇到的无效 appID 或 appSignature 问题是缺少必需的权限:
android.permission.WRITE_EXTERNAL_STORAGE