03-19 17:33:03.335: E/com.amazon.identity.auth.device.thread.MAPCallbackFuture(13067): Running get on Future with timeout=10000unit=MILLISECONDS 03-19 17:33:03.335: E/com.amazon.identity.auth.device.thread.MAPCallbackFuture(13067): Running get on Future with timeout=10000unit=MILLISECONDS 03-19 17:33:03.570: E/com.amazon.identity.auth.device.thread.MAPCallbackFuture(13067): Running get on Future with timeout=10000unit=MILLISECONDS 03-19 17:33:04.250: W/dalvikvm(13067): threadid=1: thread exiting with uncaught exception (group=0x41d3a700) 03-19 17:33:04.280: E/AndroidRuntime(13067): FATAL EXCEPTION: main 03-19 17:33:04.280: E/AndroidRuntime(13067): java.lang.NullPointerException 03-19 17:33:04.280: E/AndroidRuntime(13067): at com.amazon.ags.client.whispersync.WhispersyncEventPoster$1.run(WhispersyncEventPoster.java:62) 03-19 17:33:04.280: E/AndroidRuntime(13067): at android.os.Handler.handleCallback(Handler.java:730) 03-19 17:33:04.280: E/AndroidRuntime(13067): at android.os.Handler.dispatchMessage(Handler.java:92) 03-19 17:33:04.280: E/AndroidRuntime(13067): at android.os.Looper.loop(Looper.java:176) 03-19 17:33:04.280: E/AndroidRuntime(13067): at android.app.ActivityThread.main(ActivityThread.java:5419) 03-19 17:33:04.280: E/AndroidRuntime(13067): at java.lang.reflect.Method.invokeNative(Native Method) 03-19 17:33:04.280: E/AndroidRuntime(13067): at java.lang.reflect.Method.invoke(Method.java:525) 03-19 17:33:04.280: E/AndroidRuntime(13067): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046) 03-19 17:33:04.280: E/AndroidRuntime(13067): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862) 03-19 17:33:04.280: E/AndroidRuntime(13067): at dalvik.system.NativeStart.main(Native Method) 03-19 17:33:04.390: W/DropBoxManagerService(2355): Dropping: data_app_crash (822 > 0 bytes) 03-19 17:33:05.285: E/android.os.Debug(2355): !@Dumpstate > sdumpstate -k -t -z -d -o /data/log/dumpstate_app_error 03-19 17:33:07.530: W/IdleConnectionHandler(13897): Removing a connection that never existed! 03-19 17:33:10.665: W/InputMethodManagerService(2355): Session failed to close due to remote exception 03-19 17:33:10.665: W/InputMethodManagerService(2355): android.os.DeadObjectException 03-19 17:33:10.665: W/InputMethodManagerService(2355): at android.os.BinderProxy.transact(Native Method) 03-19 17:33:10.665: W/InputMethodManagerService(2355): at com.android.internal.view.IInputMethodSession$Stub$Proxy.finishSession(IInputMethodSession.java:314) 03-19 17:33:10.665: W/InputMethodManagerService(2355): at com.android.server.InputMethodManagerService.finishSessionLocked(InputMethodManagerService.java:1986) 03-19 17:33:10.665: W/InputMethodManagerService(2355): at com.android.server.InputMethodManagerService.clearClientSessionLocked(InputMethodManagerService.java:1977) 03-19 17:33:10.665: W/InputMethodManagerService(2355): at com.android.server.InputMethodManagerService.clearCurMethodLocked(InputMethodManagerService.java:2003) 03-19 17:33:10.665: W/InputMethodManagerService(2355): at com.android.server.InputMethodManagerService.onServiceDisconnected(InputMethodManagerService.java:2022) 03-19 17:33:10.665: W/InputMethodManagerService(2355): at android.app.LoadedApk$ServiceDispatcher.doDeath(LoadedApk.java:1116) 03-19 17:33:10.665: W/InputMethodManagerService(2355): at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1130) 03-19 17:33:10.665: W/InputMethodManagerService(2355): at android.os.Handler.handleCallback(Handler.java:730) 03-19 17:33:10.665: W/InputMethodManagerService(2355): at android.os.Handler.dispatchMessage(Handler.java:92) 03-19 17:33:10.665: W/InputMethodManagerService(2355): at android.os.Looper.loop(Looper.java:176)
Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!). https://deluxepixel.com
btw: The login error with google appears to be because it's already logged in (maybe from previous dload to the player?). Google sends an error message just after to say you were already logged in.
Is it possible to do a check at the google:login() to see if already logged in and thus skip the actual login - just create the log in ok event - that way you won't get disturbed by google's error message.
Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!). https://deluxepixel.com
Is that your own internal check to see if signed in - or have you used the google api for checking too?
Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!). https://deluxepixel.com
I wonder why the amazon save generates a load event?
Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!). https://deluxepixel.com
1) It is Googles (GameHelper Lib) 2) Because I programmed it this way I think same behavior was in Google Play Services cloud save But I can change it in next update
1) I suppose it won't be a problem in real world - as it only happens in the player on a download (if already running) - and then it only happens rarely.
2) The save in google doesn't generate a load event. It should't do though...
Did you put it in Amazon's by accident?
Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!). https://deluxepixel.com
Well kind of, the problem was that there is only one possible event listener, and I did not yet implement a way of how to determine from which state it was called. Although it probably is possible to do that properly
Ahh, i see - so it's actually somthing like a 'saved ok' event?
Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!). https://deluxepixel.com
I think that save should either trigger it's own event - or no event (like google). It making an event called 'load' is a little confusing.
Any ideas on the crash? It happens after the event is triggered.
Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!). https://deluxepixel.com
Ok I have an idea, but I just don't know why then it does not happen to me. Again as there is only one even listener, I always reset it to new one with newly provided key, and maybe it some how messes up something internally (as it is multithreaded, maybe next save overwrites event while thread was saving for previous event) So I will definitely need to find different solution to know which key was user to trigger event Unfortunately right now I can't come up with any solution
Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!). https://deluxepixel.com
Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!). https://deluxepixel.com
"Microsoft is planning to expand Xbox Live to mobile platforms in order to facilitate multiplayer matchmaking, achievements, and friends lists. Xbox Live already powers some games on Microsoft's Windows Phone platform, but the new mobile push will focus on iOS and Android."
Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!). https://deluxepixel.com
btw, Gaming seems fairly stable on Android now. You looking at iOS soon.
Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!). https://deluxepixel.com
Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!). https://deluxepixel.com
Yes if he could add WP8 export that would be the icing on the cake as personally I have a bazillion apps to publish over there which are now written in Lua
@ar2rsawseen I put my app Action Basket in the Amazon market. I have no Amazon device to test it. I asked this forum some days ago for help but no response.
Anyway, the app uses GameCircle with the Gaming Interface.
After I asked to Amazon support about an issue regarding the Developer Select program they told me that the app force close when trying to login GameCircle.
What are the correct lines you have to add to the AuthorizationActivity and AndroidManifest.xml files in order to work with GameCircle?
@SimplesApps FYI you can also test GameCircle on any Android without Kindle, that way you can see the error log on crash
Or implementing crashlytics would have provided you with report from Amazon testers
But from configuration point, yes I add the same modifications for Android manifest, I use the one from "When targeting Android API 10 and below:" section it seemed to work. Only when copying it, change your package name through example
Then of course there is the same as with all plugins, modifying Activity to load .so file and external class, but I don't remember that anything more specific is needed.
@ar2rsawseen I'm trying to get a correct version of my game for Amazon but the app stops due to missing class:
logcat:
"08-10 20:53:04.271: E/dalvikvm(15738): Could not find class 'com.amazon.identity.auth.device.authorization.api.AmazonAuthorizationManager', referenced from method com.amazon.ags.api.AmazonGamesClient.initialize 08-10 20:53:04.300: E/AndroidRuntime(15738): FATAL EXCEPTION: main 08-10 20:53:04.300: E/AndroidRuntime(15738): Process: com.simplesapps.actionbasket, PID: 15738 08-10 20:53:04.300: E/AndroidRuntime(15738): java.lang.NoClassDefFoundError: com.amazon.identity.auth.device.authorization.api.AmazonAuthorizationManager 08-10 20:53:04.300: E/AndroidRuntime(15738): at com.amazon.ags.api.AmazonGamesClient.initialize(AmazonGamesClient.java:144) 08-10 20:53:04.300: E/AndroidRuntime(15738): at com.giderosmobile.android.plugins.gaming.frameworks.GameGamecircle.login(GameGamecircle.java:95) 08-10 20:53:04.300: E/AndroidRuntime(15738): at com.giderosmobile.android.plugins.gaming.Game$4.run(Game.java:174) "
I use the API key generated from my Amazon developer console (I checked with both the API key from GameCircle and from security profile).
I downloaded the gamecirclesdk.jar & the GameGamecircle.java files from Amazon and I put them in the lib & src folders. If I don't do so then it will give errors regarding loadingLeaderboards, etc (due to some SDK calls they have changed).
I suppose something have to be updated here but I'm loss...
You should treat GameCircle SDK as Google Play Services It need to be imported in workspace as separate project and referenced in your project (same way you did with Google Play services)
Comments
03-19 17:33:03.335: E/com.amazon.identity.auth.device.thread.MAPCallbackFuture(13067): Running get on Future with timeout=10000unit=MILLISECONDS
03-19 17:33:03.335: E/com.amazon.identity.auth.device.thread.MAPCallbackFuture(13067): Running get on Future with timeout=10000unit=MILLISECONDS
03-19 17:33:03.570: E/com.amazon.identity.auth.device.thread.MAPCallbackFuture(13067): Running get on Future with timeout=10000unit=MILLISECONDS
03-19 17:33:04.250: W/dalvikvm(13067): threadid=1: thread exiting with uncaught exception (group=0x41d3a700)
03-19 17:33:04.280: E/AndroidRuntime(13067): FATAL EXCEPTION: main
03-19 17:33:04.280: E/AndroidRuntime(13067): java.lang.NullPointerException
03-19 17:33:04.280: E/AndroidRuntime(13067): at com.amazon.ags.client.whispersync.WhispersyncEventPoster$1.run(WhispersyncEventPoster.java:62)
03-19 17:33:04.280: E/AndroidRuntime(13067): at android.os.Handler.handleCallback(Handler.java:730)
03-19 17:33:04.280: E/AndroidRuntime(13067): at android.os.Handler.dispatchMessage(Handler.java:92)
03-19 17:33:04.280: E/AndroidRuntime(13067): at android.os.Looper.loop(Looper.java:176)
03-19 17:33:04.280: E/AndroidRuntime(13067): at android.app.ActivityThread.main(ActivityThread.java:5419)
03-19 17:33:04.280: E/AndroidRuntime(13067): at java.lang.reflect.Method.invokeNative(Native Method)
03-19 17:33:04.280: E/AndroidRuntime(13067): at java.lang.reflect.Method.invoke(Method.java:525)
03-19 17:33:04.280: E/AndroidRuntime(13067): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
03-19 17:33:04.280: E/AndroidRuntime(13067): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
03-19 17:33:04.280: E/AndroidRuntime(13067): at dalvik.system.NativeStart.main(Native Method)
03-19 17:33:04.390: W/DropBoxManagerService(2355): Dropping: data_app_crash (822 > 0 bytes)
03-19 17:33:05.285: E/android.os.Debug(2355): !@Dumpstate > sdumpstate -k -t -z -d -o /data/log/dumpstate_app_error
03-19 17:33:07.530: W/IdleConnectionHandler(13897): Removing a connection that never existed!
03-19 17:33:10.665: W/InputMethodManagerService(2355): Session failed to close due to remote exception
03-19 17:33:10.665: W/InputMethodManagerService(2355): android.os.DeadObjectException
03-19 17:33:10.665: W/InputMethodManagerService(2355): at android.os.BinderProxy.transact(Native Method)
03-19 17:33:10.665: W/InputMethodManagerService(2355): at com.android.internal.view.IInputMethodSession$Stub$Proxy.finishSession(IInputMethodSession.java:314)
03-19 17:33:10.665: W/InputMethodManagerService(2355): at com.android.server.InputMethodManagerService.finishSessionLocked(InputMethodManagerService.java:1986)
03-19 17:33:10.665: W/InputMethodManagerService(2355): at com.android.server.InputMethodManagerService.clearClientSessionLocked(InputMethodManagerService.java:1977)
03-19 17:33:10.665: W/InputMethodManagerService(2355): at com.android.server.InputMethodManagerService.clearCurMethodLocked(InputMethodManagerService.java:2003)
03-19 17:33:10.665: W/InputMethodManagerService(2355): at com.android.server.InputMethodManagerService.onServiceDisconnected(InputMethodManagerService.java:2022)
03-19 17:33:10.665: W/InputMethodManagerService(2355): at android.app.LoadedApk$ServiceDispatcher.doDeath(LoadedApk.java:1116)
03-19 17:33:10.665: W/InputMethodManagerService(2355): at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1130)
03-19 17:33:10.665: W/InputMethodManagerService(2355): at android.os.Handler.handleCallback(Handler.java:730)
03-19 17:33:10.665: W/InputMethodManagerService(2355): at android.os.Handler.dispatchMessage(Handler.java:92)
03-19 17:33:10.665: W/InputMethodManagerService(2355): at android.os.Looper.loop(Looper.java:176)
https://deluxepixel.com
Is it possible to do a check at the google:login() to see if already logged in and thus skip the actual login - just create the log in ok event - that way you won't get disturbed by google's error message.
https://deluxepixel.com
About google it already checks if it not signed in:
interesting... will think more on that
https://deluxepixel.com
https://deluxepixel.com
2) Because I programmed it this way
I think same behavior was in Google Play Services cloud save
But I can change it in next update
2) The save in google doesn't generate a load event. It should't do though...
Did you put it in Amazon's by accident?
https://deluxepixel.com
Although it probably is possible to do that properly
https://deluxepixel.com
I will standartise behavior once I implement all frameworks (including ios cloud saves)
Probably also need to make couple of games, to see what usage is better
Thus any feedback on this is welcome, how do you think is easier to use it?
Any ideas on the crash? It happens after the event is triggered.
https://deluxepixel.com
Again as there is only one even listener, I always reset it to new one with newly provided key, and maybe it some how messes up something internally (as it is multithreaded, maybe next save overwrites event while thread was saving for previous event)
So I will definitely need to find different solution to know which key was user to trigger event
Unfortunately right now I can't come up with any solution
You can try to remove
Tested on Samsung S3 and Kindle HDX.
Tested saving to both - all ok.
https://deluxepixel.com
but most probably it should work
Likes: ar2rsawseen
https://deluxepixel.com
"Microsoft is planning to expand Xbox Live to mobile platforms in order to facilitate multiplayer matchmaking, achievements, and friends lists. Xbox Live already powers some games on Microsoft's Windows Phone platform, but the new mobile push will focus on iOS and Android."
https://deluxepixel.com
https://deluxepixel.com
Hopefully Atilim will add WP8 in time for Microsoft xbox services to be added.
Likes: MobAmuse
https://deluxepixel.com
Likes: SinisterSoft
Thanks
http://giderosmobile.com/labs/gaming
Likes: zoolax
thanks
@ar2rsawseen I put my app Action Basket in the Amazon market.
I have no Amazon device to test it. I asked this forum some days ago for help but no response.
Anyway, the app uses GameCircle with the Gaming Interface.
I added some sentences to AndroidManifest.xml & AuthorizationActivity files (as Amazon tell here: https://developer.amazon.com/appsandservices/apis/engage/gamecircle/docs/initialize-android), but maybe the lines are wrong.
After I asked to Amazon support about an issue regarding the Developer Select program they told me that the app force close when trying to login GameCircle.
What are the correct lines you have to add to the AuthorizationActivity and AndroidManifest.xml files in order to work with GameCircle?
Thanks,
David.
https://play.google.com/store/apps/developer?id=SimplesApps
http://www.amazon.com/gp/mas/dl/android?p=com.simplesapps.actionbasket
https://itunes.apple.com/artist/david-rodriguez/id763996989
Or implementing crashlytics would have provided you with report from Amazon testers
But from configuration point, yes I add the same modifications for Android manifest, I use the one from "When targeting Android API 10 and below:" section it seemed to work. Only when copying it, change your package name through example
Then of course there is the same as with all plugins, modifying Activity to load .so file and external class, but I don't remember that anything more specific is needed.
logcat:
"08-10 20:53:04.271: E/dalvikvm(15738): Could not find class 'com.amazon.identity.auth.device.authorization.api.AmazonAuthorizationManager', referenced from method com.amazon.ags.api.AmazonGamesClient.initialize
08-10 20:53:04.300: E/AndroidRuntime(15738): FATAL EXCEPTION: main
08-10 20:53:04.300: E/AndroidRuntime(15738): Process: com.simplesapps.actionbasket, PID: 15738
08-10 20:53:04.300: E/AndroidRuntime(15738): java.lang.NoClassDefFoundError: com.amazon.identity.auth.device.authorization.api.AmazonAuthorizationManager
08-10 20:53:04.300: E/AndroidRuntime(15738): at com.amazon.ags.api.AmazonGamesClient.initialize(AmazonGamesClient.java:144)
08-10 20:53:04.300: E/AndroidRuntime(15738): at com.giderosmobile.android.plugins.gaming.frameworks.GameGamecircle.login(GameGamecircle.java:95)
08-10 20:53:04.300: E/AndroidRuntime(15738): at com.giderosmobile.android.plugins.gaming.Game$4.run(Game.java:174)
"
I use the API key generated from my Amazon developer console (I checked with both the API key from GameCircle and from security profile).
I downloaded the gamecirclesdk.jar & the GameGamecircle.java files from Amazon and I put them in the lib & src folders. If I don't do so then it will give errors regarding loadingLeaderboards, etc (due to some SDK calls they have changed).
I suppose something have to be updated here but I'm loss...
Please give me a help.
Thanks.
https://play.google.com/store/apps/developer?id=SimplesApps
http://www.amazon.com/gp/mas/dl/android?p=com.simplesapps.actionbasket
https://itunes.apple.com/artist/david-rodriguez/id763996989
It need to be imported in workspace as separate project and referenced in your project (same way you did with Google Play services)