Cocos2d-x Chartboost Android Инициализация странная ошибка
Я использую Cocos2d-x v3.2 с последней версией Android Chartboost SDK v5.5.3. Я сделал все, что упомянуто в документе SDK Integration для Android, но у меня очень странная ошибка в 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$6.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$9.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)
Скажите пожалуйста, что я делаю не так?
2 ответа
Перепробовав множество решений, я наконец-то выяснил, что проблема связана с кэшированием рекламы в неправильном месте.
Я ранее звонил Chartboost.cacheInterstitial(CBLocation.LOCATION_DEFAULT);
в init()
метод. После переезда Chartboost.cacheInterstitial(CBLocation.LOCATION_DEFAULT);
в другое место, такое как onResume()
эта ошибка улетела.
Но я понятия не имею, почему logcat говорит, что ошибка возникает из-за неверного appID или appSignature. Слишком странно!
Моя проблема с недействительным appID или appSignature заключалась в том, что это отсутствующее требуемое разрешение:
android.permission.WRITE_EXTERNAL_STORAGE