GameCricle not working on app after uploading to the store

GameCircle works fine in testing but on some apps it stops working after I upload to the store. If I take that same APK and load it directly it works fine. Anybody have any ideas about what the problem might be? I am using build 2511.

Help would be appreciated.

Does anybody have any ideas about this? I don’t get any errors in the console.

Maybe its an issue when two apps (paid and free versions) are trying to use the same leaderboard. I have separate API Keys and it works when I side load it but not when downloaded from the store.

Here is the link to the app that the leaderboard does not work on but the paid version works fine.

http://www.amazon.com/Mike-Hempfling-2048-Number-Saga/dp/B00M87SZ7I

I have set up game circle and tested fine with my game Blood Run. But I just got an email from amazon that the game circle is not working.

However I tested again on my phone and it works fine(loaded directly with the same apk).

I did not try to download from amazon store cause its paid app and I am not from USA.

Will wait for amazon reply. 

Hi everyone, I’m one of folks that developed the plugin. We didn’t see this during development, and any additional information you can provide would be greatly appreciated. I’ve already contacted our friends at Corona and Amazon to try and pin this down, but any further information we can get to help chase this down will greatly speed the process. 

CORONA PLEASE HELP.

More games have been rejected because GameCircle is not working once it is uploaded to the store. From the log it looks like it is having issues with decoding the API Key. The weird thing is it works fine when testing.

Here is info from the console:

12-20 15:06:04.680   448   984 I ActivityManager: START u0 {xxxx} from pid 971

12-20 15:06:04.680   448   984 W ActivityManager: Input dispatching paused for current ActivityRecord: ActivityRecord{420a2b20 u0 com.cravecreative.numbersagafree/com.ansca.corona.CoronaActivity t30}

12-20 15:06:04.712 17191 17191 I Activity: No ActvityExender defined. Proceed with default activity behavior.

12-20 15:06:04.719   448   846 D AmazonTransitionManager: openingActivityName = com.ansca.corona.CoronaActivity, animationType = ZOOM

12-20 15:06:04.915   448   461 I ActivityManager: Displayed com.cravecreative.numbersagafree/com.ansca.corona.CoronaActivity: +202ms

12-20 15:06:04.993 17191 17500 I System.out: ----------Corona Application OnLoad----------

12-20 15:06:04.993 17191 17500 I System.out: ----------Initializing/Resuming GameCircle----------

12-20 15:06:04.993 17191 17500 D GameCircleClient: SDK Version: 2.4.2

12-20 15:06:04.993 17191 17500 D com.amazon.identity.auth.device.authorization.api.AmazonAuthorizationManager.PII: AmazonAuthorizationManager:sdkVer=1.0.0 libVer=3.3.0:<obscured>

12-20 15:06:04.993 17191 17500 I com.amazon.identity.auth.device.authorization.api.AmazonAuthorizationManager: Options bundle is null

12-20 15:06:04.993 17191 17500 I com.amazon.identity.auth.device.appid.AbstractAppIdentifier: getAppInfo : packageName=com.cravecreative.numbersagafree

12-20 15:06:04.993 17191 17500 I com.amazon.identity.auth.device.appid.AbstractAppIdentifier: Finding API Key for com.cravecreative.numbersagafree

12-20 15:06:05.001 17191 17500 I com.amazon.identity.auth.device.utils.ThirdPartyResourceParser: Attempting to parse API Key from assets directory

12-20 15:06:05.001 17191 17500 I com.amazon.identity.auth.device.appid.APIKeyDecoder: Begin decoding API Key for packageName=com.cravecreative.numbersagafree

12-20 15:06:05.008 17191 17500 D com.amazon.identity.auth.device.appid.APIKeyDecoder.PII: APIKey:<obscured>

12-20 15:06:05.016 17191 17500 I com.amazon.identity.auth.device.appid.APIKeyDecoder:  num sigs = 1

12-20 15:06:05.016 17191 17500 D com.amazon.identity.auth.device.appid.APIKeyDecoder.PII: Signature checking.:<obscured>

12-20 15:06:05.016 17191 17500 D com.amazon.identity.auth.device.appid.APIKeyDecoder.PII: Fingerpirint checking:<obscured>

12-20 15:06:05.016 17191 17500 W com.amazon.identity.auth.device.appid.APIKeyDecoder: Failed to decode: Decoding fails: certificate fingerprint can’t be verified!

12-20 15:06:05.016 17191 17500 W com.amazon.identity.auth.device.appid.APIKeyDecoder: java.lang.SecurityException: Decoding fails: certificate fingerprint can’t be verified!

12-20 15:06:05.016 17191 17500 W com.amazon.identity.auth.device.appid.APIKeyDecoder: at com.amazon.identity.auth.device.appid.APIKeyDecoder.verifyPayload(APIKeyDecoder.java:332)

12-20 15:06:05.016 17191 17500 W com.amazon.identity.auth.device.appid.APIKeyDecoder: at com.amazon.identity.auth.device.appid.APIKeyDecoder.doDecode(APIKeyDecoder.java:127)

12-20 15:06:05.016 17191 17500 W com.amazon.identity.auth.device.appid.APIKeyDecoder: at com.amazon.identity.auth.device.appid.APIKeyDecoder.decode(APIKeyDecoder.java:91)

12-20 15:06:05.016 17191 17500 W com.amazon.identity.auth.device.appid.APIKeyDecoder: at com.amazon.identity.auth.device.appid.AbstractAppIdentifier.getAppInfo(AbstractAppIdentifier.java:85)

12-20 15:06:05.016 17191 17500 W com.amazon.identity.auth.device.appid.APIKeyDecoder: at com.amazon.identity.auth.device.authorization.api.AmazonAuthorizationManager.<init>(AmazonAuthorizationManager.java:123)

12-20 15:06:05.016 17191 17500 W com.amazon.identity.auth.device.appid.APIKeyDecoder: at com.amazon.ags.api.AmazonGamesClient.initialize(AmazonGamesClient.java:144)

12-20 15:06:05.016 17191 17500 W com.amazon.identity.auth.device.appid.APIKeyDecoder: at plugin.gamecircle.LuaLoader.InitializeGameCircleFeatures(LuaLoader.java:121)

12-20 15:06:05.016 17191 17500 W com.amazon.identity.auth.device.appid.APIKeyDecoder: at plugin.gamecircle.LuaLoader.onLoaded(LuaLoader.java:2080)

12-20 15:06:05.016 17191 17500 W com.amazon.identity.auth.device.appid.APIKeyDecoder: at com.ansca.corona.CoronaEnvironment$RuntimeEventHandler.onLoaded(CoronaEnvironment.java:422)

12-20 15:06:05.016 17191 17500 W com.amazon.identity.auth.device.appid.APIKeyDecoder: at com.ansca.corona.CoronaRuntime.onLoaded(CoronaRuntime.java:322)

12-20 15:06:05.016 17191 17500 W com.amazon.identity.auth.device.appid.APIKeyDecoder: at com.ansca.corona.NativeToJavaBridge.callOnRuntimeLoaded(NativeToJavaBridge.java:391)

12-20 15:06:05.016 17191 17500 W com.amazon.identity.auth.device.appid.APIKeyDecoder: at com.ansca.corona.JavaToNativeShim.nativeResize(Native Method)

12-20 15:06:05.016 17191 17500 W com.amazon.identity.auth.device.appid.APIKeyDecoder: at com.ansca.corona.JavaToNativeShim.resize(JavaToNativeShim.java:372)

12-20 15:06:05.016 17191 17500 W com.amazon.identity.auth.device.appid.APIKeyDecoder: at com.ansca.corona.graphics.opengl.CoronaGLSurfaceView$CoronaRenderer.onSurfaceChanged(CoronaGLSurfaceView.java:374)

12-20 15:06:05.016 17191 17500 W com.amazon.identity.auth.device.appid.APIKeyDecoder: at com.ansca.corona.graphics.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1611)

12-20 15:06:05.016 17191 17500 W com.amazon.identity.auth.device.appid.APIKeyDecoder: at com.ansca.corona.graphics.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1377)

12-20 15:06:05.016 17191 17500 E GameCircleClient: Unable to read api key.  GameCircle requires an api key to be included in ‘assets/api_key.txt’.  GameCircle will not initialize.

12-20 15:06:05.016 17191 17500 E GameCircleClient: java.lang.IllegalArgumentException: Invalid API Key

12-20 15:06:05.016 17191 17500 E GameCircleClient: at com.amazon.identity.auth.device.authorization.api.AmazonAuthorizationManager.<init>(AmazonAuthorizationManager.java:126)

12-20 15:06:05.016 17191 17500 E GameCircleClient: at com.amazon.ags.api.AmazonGamesClient.initialize(AmazonGamesClient.java:144)

12-20 15:06:05.016 17191 17500 E GameCircleClient: at plugin.gamecircle.LuaLoader.InitializeGameCircleFeatures(LuaLoader.java:121)

12-20 15:06:05.016 17191 17500 E GameCircleClient: at plugin.gamecircle.LuaLoader.onLoaded(LuaLoader.java:2080)

12-20 15:06:05.016 17191 17500 E GameCircleClient: at com.ansca.corona.CoronaEnvironment$RuntimeEventHandler.onLoaded(CoronaEnvironment.java:422)

12-20 15:06:05.016 17191 17500 E GameCircleClient: at com.ansca.corona.CoronaRuntime.onLoaded(CoronaRuntime.java:322)

12-20 15:06:05.016 17191 17500 E GameCircleClient: at com.ansca.corona.NativeToJavaBridge.callOnRuntimeLoaded(NativeToJavaBridge.java:391)

12-20 15:06:05.016 17191 17500 E GameCircleClient: at com.ansca.corona.JavaToNativeShim.nativeResize(Native Method)

12-20 15:06:05.016 17191 17500 E GameCircleClient: at com.ansca.corona.JavaToNativeShim.resize(JavaToNativeShim.java:372)

12-20 15:06:05.016 17191 17500 E GameCircleClient: at com.ansca.corona.graphics.opengl.CoronaGLSurfaceView$CoronaRenderer.onSurfaceChanged(CoronaGLSurfaceView.java:374)

12-20 15:06:05.016 17191 17500 E GameCircleClient: at com.ansca.corona.graphics.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1611)

12-20 15:06:05.016 17191 17500 E GameCircleClient: at com.ansca.corona.graphics.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1377)

12-20 15:06:05.024 17191 17500 V Corona  : > Class.forName: network.LuaLoader

12-20 15:06:05.024 17191 17500 V Corona  : < Class.forName: network.LuaLoader

12-20 15:06:05.024 17191 17500 V Corona  : Loading via reflection: network.LuaLoader

12-20 15:06:05.032 17191 17500 I Corona  : Platform: KFSOWI / ARM Neon / 4.4.3 / PowerVR SGX 544 / OpenGL ES 2.0 build 1.12@2756947 / 2014.2511

12-20 15:06:05.133 17191 17500 V Corona  : > Class.forName: plugin.gamecircle.LuaLoader

12-20 15:06:05.133 17191 17500 V Corona  : < Class.forName: plugin.gamecircle.LuaLoader

12-20 15:06:05.133 17191 17500 V Corona  : Loading via reflection: plugin.gamecircle.LuaLoader

12-20 15:06:05.141 17191 17500 I System.out: ----------Amazon GameCircle Released----------

I just noticed that the API Key in the popup window on the Amazon site is different from the one that downloads. Anybody experience that and which one should I use?

That you very much, Mike. The console log helps a great deal if this is the issue everyone is experiencing. Unfortunately, that bit of the code is handled automatically by the GameCircle SDK. The plugin itself, which handles the back-&-forth between the LUA code and the java based SDK, does not deal at all with the API key or it’s verification.

Still, I have reached out to our contacts in both Corona and Amazon to try and figure this out. Consider this is a holiday week, the answer may not come quickly, but I’ll be sure to update this feed as soon as I have more information. I am terribly sorry for the inconvenience. 

@jesse_busch

Thanks for the response and please let me know if there is any other info I can provide to help resolve this issue.

To give an update to this, I’ve been trying to get a hold of Amazon & Corona engineers through my contacts with each respective company, but I haven’t gotten any word back. I am sorry, but I’m a bit dead in the water until I can consult with them about what is going on. 

Jesse - I just sent you an email.

The same issue just happened to another app. The paid version which I released first worked but the free version was just rejected because the leaderboard did not work.

@jesse_busch

Any idea when this will be resolved because I and trying to decide if I need to create a version of my app that was rejected without the leaderboard?

Just got a reply from amazon on 10 jan that they are looking into it. For my case it was actually approved and show up on app store, just that they informed me the gamecircle is not working. I am not sure why yours is rejected?

Hi,

I received bug report from amazon. Please see the attached log.txt. Too long to post here.

Steps to Reproduce:

  1. Completed “Training Camp” and moved on to Endless Runs game mode.
  2. Observe at the end of the play in Endless Runs, an error popup "Run Time Error :java.lang.** NullPointerException".**
  3. Observe GameCircle leader board was not updated with the high score in Endless Runs mode.

@NobStudio 

I looked at the log file. If the error your getting is only occuring for Amazon and not on your local phone, then this seems to be the same API_Key issue. Looking in your log file, I can see the API Key Decoder issues. If the system can’t decode the API, then it can’t initialize the Leaderboards which is what is causing the Nullreference exception. 

As to a timeframe when this will be fixed, at the moment I can’t really say. While I developed the plugin, the API Key Decoder error is happening outside my plugin’s metaphorical jurisdiction. It’s occurring within the GameCircle SDK, while my plugin is merely trying to act as a middle-man between the Lua code and the Java SDK. 

Still, I will keep this board up to date, but as of right now Amazon has not gotten back to me regarding this issue. 

I am terribly sorry. 

@jesse_busch

Thx for the update.

@jesse_busch

Thanks! I’ll wait for the issue to be resolved.

@jesse_busch,

Any updates on trying to get Amazon and Corona Labs to talk and get this worked out?

Not only that, but every time you reopen the api key window it will change the api key. My understanding is that Amazon will resign the app anyway when you submit the release version, so the release version will always have a valid key. But when you are testing, you can end up with an invalid key due to this really, really, really stupid issue. I have no idea what the logic behind it is.

I noticed that the downloaded key is wrong, but the one that appears when you click the Obtain Key link on their web site is always the same.