Ich habe eine Android-App mit Firebase-Backed-Speicher. Zur Authentifizierung verwende ich eine Google-Anmeldung, gefolgt von Firebases signInWithCredential()
.So beschleunigen Sie den Firebase-Authentifizierungsprozess
Dies ist manchmal ziemlich schnell, manchmal auch sehr langsam (2 Sekunden für die Google-Anmeldung, 6 Sekunden für Firebase, manchmal länger). Dies ist unter UX-Gesichtspunkten nicht akzeptabel, insbesondere, da dies jedes Mal geschieht, wenn der Benutzer die App startet.
Gibt es etwas, was ich tun kann, um die Dinge zu beschleunigen?
Auf den Punkt gebracht, mit allen async Handhabung entfernt:
result = Auth.GoogleSignInApi.silentSignIn(googleApiClient).get();
// --- That can take over two seconds ---
GoogleSignInAccount acct = result.getSignInAccount();
AuthCredential credential = GoogleAuthProvider.getCredential(acct.getIdToken(), null);
authTask = auth.signInWithCredential(credential);
// --- This can take over six seconds ---
Wow, die Lösung ist so offensichtlich, dass ich mich recht dumm fühle! Ich dachte nie für eine Sekunde, dass der FirebaseAuth seinen Zustand nach einem Neustart beibehalten würde. Im Nachhinein ist dies sinnvoll, da Firebase Dateien im Datenverzeichnis für jede App-Instanz zurücklässt. Herzlichen Glückwunsch zu Ihrer ersten angenommenen Antwort :) – EboMike