• Hello [name]! Thanks for joining the GMC. Before making any posts in the Tech Support forum, can we suggest you read the forum rules? These are simple guidelines that we ask you to follow so that you can get the best help possible for your issue.

Android / Amazon Fire Cloud Saving does not Work

harambe1

Member
Hi guys!

I am trying to set up cloud saving for my game (which is on BETA test)

I read and followed the instructions from the yoyogames docs about setting up cloud saving on Android but it really doesn't work for me. Here are some details about my situation:

1. Log in and Achievements are working fine
2. "Saved Game" option is ticked in play services console
3. "Enable Google cloud saving" is ticked in IDE
4. Google Licensing Public Key is correct
5. I followed the codes in the docs as closely as possible
6. I am using latest IDE, runtime, and Google play Services Extension

Note that I can't see the debug messages on IDE because the Play Services only work on Apps downloaded from the Play Store itself, and I can't make a build on top of that because it's saying that the key is different. Any tips on how to solve this?

Also, I saw in the Game Services console that in order for cloud saving to work, Drive API must be set up, but there is nothing in the docs about this at all. Is it really necessary?

Thanks guys! cheers
 

chirpy

Member
For apps downloaded from Google Play, you have to use "adb logcat" in a command line terminal to capture the logs.

Alternatively, to be able to access your Play Games Service backend using debug builds, you can link the same app with your debug key hash.

https://developers.google.com/games/services/android/troubleshooting
Search in the article for how to "add a second linked app".

----
From my experiences, cloud saves fail / conflict a lot in emulators (even if you updated google play services and games)
so I'd recommend against testing with emulators (which I'm not sure you guys are using but anyway).
 

Scooty_P

Member
Hi chirpy,
Thank you for your reply.

How can I use the command line terminal on my phone in order to get an output log ?
Do I need to install something on my phone, or can I grab that log if my phone is connected to my computer ?
And if I need a command line terminal software which one should I use ?

My app is already released, and the cloud saving don't work at all.

When I run a test on my phone using game maker I'm getting strange outputs in the game maker log :

: Login failed! Exception: com.google.android.gms.common.api.ApiException: 4: . Message: 4: . Stack: [Ljava.lang.StackTraceElement;@78e405f

: googleplayservices extension onResume called. Signed in on pause: false. Signed in now: false

: cloudSynchronise called when not logged in to appropriate service

I'm pretty sure that there is a problem with the login to google play services.

The " : cloudSynchronise called when not logged in to appropriate service " log appears when I try to sync ( cloud_synchronise(); ) to google cloud in
the "Async Social" event:

if ds_map_exists(async_load, "id")
{
if async_load[? "id"] == achievement_our_info
{
global.userName = async_load[? "name"];
cloud_sync_id = cloud_synchronise();
show_debug_message("Player Logged In Correctly");
}
}

In the "Google Services Manual" PDF it says that when you call the "achievement_login();" function :
" If the service is not available, the user is logged into a "pretend" server for the service and all achievements
and scores are stored on the device so that when the actual service is available, these details can be uploaded. "

So I guess that's what happens in my case.
When I launch my game it connects to a "fake" google games services, in order
to sync the data when it can access to the play services.

I can't be sure that the issue is the same when I test my game using game maker or when I test directly on the play store.
I will try what you said by using "adb logcat"

I really appreciate any help on resolving this problem.
Thanks in advance !
 

chirpy

Member
https://developer.android.com/studio/command-line/adb
ADB is a command-line tool that comes with Android Studio. With proper environment set up in your PC, you should be able to dump logs from a connected Android device or emulator (in a cmd command interface, without the aid of GMS2 IDE).

ApiException: 4 is SIGN_IN_REQUIRED, meaning that you failed to sign in. https://developers.google.com/android/reference/com/google/android/gms/common/api/CommonStatusCodes

You'll need to add your debug key to your game service following the troubleshooting guide, to be able to connect to your game service while using gamemaker.
 
Top