由网友(心死算不算残疾)分享简介:我有一个Android应用程序,有Firebase支持的存储空间。对于身份验证,我使用的是Google登录,然后是Firebase的signInWithCredential()。有时相当快,有时非常慢(Google登录为2秒,Firebase为6秒,有时更长)。从用户体验的角度来看,这是不可接受的,尤其是在用户每次启动...
我有一个Android应用程序,有Firebase支持的存储空间。对于身份验证,我使用的是Google登录,然后是Firebase的signInWithCredential()
。
我能做些什么来加快速度吗?
简而言之,删除了所有异步处理:
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
,这比重新登录更快。相关推荐
最新文章