如何加快Firebase身份验证过程身份验证、过程、Firebase

由网友(心死算不算残疾)分享简介:我有一个Android应用程序,有Firebase支持的存储空间。对于身份验证,我使用的是Google登录,然后是Firebase的signInWithCredential()。有时相当快,有时非常慢(Google登录为2秒,Firebase为6秒,有时更长)。从用户体验的角度来看,这是不可接受的,尤其是在用户每次启动...

我有一个Android应用程序,有Firebase支持的存储空间。对于身份验证,我使用的是Google登录,然后是Firebase的signInWithCredential()

有时相当快,有时非常慢(Google登录为2秒,Firebase为6秒,有时更长)。从用户体验的角度来看,这是不可接受的,尤其是在用户每次启动应用程序时都会发生这种情况。

我能做些什么来加快速度吗?

Flutter Firebase身份验证教程

简而言之,删除了所有异步处理:

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 ---

推荐答案

身份验证时间取决于网络速度和Firebase服务器。

无需在用户每次启动您的应用程序时都让其登录,因为

FirebaseAuth.getInstance().getCurrentUser()

除非您显式注销用户

,否则不会为空
FirebaseAuth.getInstance().signOut()
如果您想要更新Auth实例以进行较新的更改,假设该用户已登录,然后由于某些原因您阻止了该帐户。在这种情况下,用户仍将登录并使用您服务。若要避免这种情况,您可以在配置文件上调用reload,这比重新登录更快。

阅读全文

相关推荐

最新文章