artberri / cordova-plugin-play-games-services

Cordova Plugin For Google Play Game Service
39 stars 32 forks source link

The second call .auth() function does't call any of my callbacks #6

Open valsap opened 4 years ago

valsap commented 4 years ago

Hi! Thanx for your job, artberri. I have a problem with plugin. When I do first auth, everything is good, but if after I call .signOut() function and try to call .auth() again, my callbacks in .auth() do not firing. Could you help me with that?

erikwalle commented 3 years ago

This was the dealbreaker for me. You want @openforge/capacitor-game-services Update: @openforge/capacitor-game-services is also not maintained and has fatal flaws. See the following discussion for my new approach.

cleverocheck commented 2 years ago

a very pernicious problem, we are waiting for a solution, but for now we will have to use another plugin

erikwalle commented 2 years ago

@IgnatLomkov I don't think a solution is coming here. I changed my plugin to this: https://github.com/robingenz/capacitor-firebase-authentication What are you using now?

cleverocheck commented 2 years ago

@erikwalle but what does firebase have to do with it - like we have a problem with the modules on Google Play Games?

erikwalle commented 2 years ago

@IgnatLomkov Firebase is a federated authentication provider, and Robin Genz was nice enough to add GPS support to his plugin on request. If you know a maintained Javascript/Capacitor library that provides GPS integration directly I'd love to hear about it.

cleverocheck commented 2 years ago

@erikwalle I didn’t know that GPS can be used through firebase, but I think it will not be very convenient - it’s better to just give up the idea of writing games using cordova. Unfortunately, I have not found any plugin that works well with GPS directly.

erikwalle commented 2 years ago

It's seamless. I literally replaced the plugin and changed 2-3 lines, the login process is almost identical. I can certainly see not starting out writing a game in Cordova, but I'm already invested in this path.

cleverocheck commented 2 years ago

@erikwalle the solution from https://github.com/robingenz/capacitor-firebase-authentication of course should work, but what if for example I don't want to work and store accounts in firebase - what to do then?

erikwalle commented 2 years ago

@IgnatLomkov I'm not using Firebase to "store accounts", I just use it to authorize the user and get a unique id. What you can't do with Firebase is get their GPS id out from behind the federated Firebase id. I switched recently and I'm in the process of migrating accounts over now. (fortunately still in beta)

cleverocheck commented 2 years ago

@erikwalle understandable, but this is still not what is needed to the end, some unnecessary intermediaries are still used. If you use only https://github.com/openforge/capacitor-game-services/ then nothing superfluous will be?

erikwalle commented 2 years ago

@IgnatLomkov Yes, that would be ideal. The bad news is, I've run this plugin live with a few hundred users, and it has fatal crash errors. I have never reproduced it but I have talked to people that have, and the experience is unacceptable for (I think) lower end devices. That's why I've arrived at the Firebase auth approach, it is much better supported in the javascript world, as a business-app use case. As you noted making games for mobile in javascript is rare, but Robin Genz's plugin is the best solution I could find. I spent many days researching this.

I should have results as to how Robin's plugin performs live in about a week, I can update this thread if you like.

cleverocheck commented 2 years ago

@erikwalle thank you very much for your help and for sharing your experience. Of course, using TS / JS with cordova for mobile games is a very rare area, which is why it is so confusing. Although I found a solution to the problem with GPS with your help, I still think about abandoning the idea of ​​using cordova, because there are still many points where there are no adequate ready-made solutions (Suppose I need to connect ironSource mediation to the game, and the only ready-made plugin for This is abandoned - https://github.com/charlesbodman/cordova-plugin-ironsource-ads Writing a plugin for almost every sneeze is very long and expensive). I think it's better to use the Unity Engine, there, in my experience, there will definitely not be any problems at such a basic level, I decided to try to work with cordova, since I myself developed playable ads (minigames) on web technologies, but alas, nailing nails with a microscope is not very convenient and fast, it is better to move away from the idea and take a hammer