I didn't do anything special to make GPGS work. I just followed the instructions. And I don't think it's deprecated (yet) b/c there was activity on it one month ago. There are certainly a lot of places where things can go wrong in the process though because there are quite a few steps. You said it IS logging in for you successfully but then logging out? If you are getting a successful login, then the module is working and it sounds like a scope issue. Have you made sure your logout code isn't being called? If it helps, here's what I'm doing - I have a singleton autoloaded for the game that manages all of the services (gpgs, admob, IAPk) and it looks something like this:
func _ready():
if OS.get_name() == "Android":
isMobile = true
iap.set_auto_consume(false)
if Globals.has_singleton("GodotGooglePlayGameServices"):
gpgs = Globals.get_singleton("GodotGooglePlayGameServices")
if(Globals.has_singleton("AdMob")):
admob = Globals.get_singleton("AdMob")
admob.init(isReal, get_instance_ID())
get_tree().connect("screen_resized", self, "onResize")
else:
isMobile = false
.
.
.
###### GPGS ########################################################33333
# Login/Logout
# ------------------------------------------------------------------------------
func signIn():
if gpgs != null:
gpgs.init(get_instance_ID())
gpgs.signIn()
func signOut():
if gpgs != null:
gpgs.signOut()
func _on_google_play_game_services_connected():
print("GPGS Services Connected")
signedIn = true
# load cloud saved stats
gpgs.loadFromSnapshot(CLOUD_SAVE_KEY)
func _on_google_play_game_services_snapshot_loaded(data):
print("DEBUG Parsing loaded snapshot")
if data:
#.... Loading game data from cloud
func _on_google_play_game_services_disconnected():
print("GPGS Services Disconnected")
signedIn = false
func _on_google_play_game_services_suspended_network_lost():
print("GPGS Services Suspended - Newtork Lost")
signedIn = false
func _on_google_play_game_services_suspended_service_disconnected():
print("GPGS Services Suspended - Service Disconnected")
signedIn = false
func _on_google_play_game_services_suspended_unknown():
print("GPGS Services Suspended - Unknown")
signedIn = false
Hopefully something in there helps you, but I didn't do anything special with the module, I just followed the instructions. Another option you may try is one of the other modules on GitHub. For my next project I'll probably use FrogSquare's modules because they seem much more robust and they're definitely actively developed for now: https://github.com/FrogSquare
I actually had a harder time with the AdMob module and had to apply a patch to it. https://github.com/kloder-games/godot-admob/issues/10
Hope this helps you out. Good Luck!