Ebo*_*ike 4 android firebase firebase-authentication google-signin
我有一个安装了Firebase的Android应用程序.对于身份验证,我使用Google登录,然后使用Firebase signInWithCredential()
.
这有时相当快,有些时候非常慢(Google登录为2秒,Firebase为6秒,有时更长).从UX的角度来看,这是不可接受的,特别是因为每次用户启动应用程序时都会发生这种情况.
有什么办法可以加快速度吗?
简而言之,删除了所有异步处理:
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 ---
Run Code Online (Sandbox Code Playgroud)
cod*_*101 12
身份验证时间完全取决于网络速度和Firebase后端响应时间.
每次应用程序启动时也无需重新登录用户.
FirebaseAuth.getInstance().getCurrentUser()
Run Code Online (Sandbox Code Playgroud)
除非您明确注销用户,否则不会为null
FirebaseAuth.getInstance().signOut()
Run Code Online (Sandbox Code Playgroud)
我的意思是.每次用户打开/启动应用程序而不是使用已保存的Auth实例时,您都不应该重新登录用户.
如果您想更新Auth实例以进行更新更改,请假设用户已登录,然后由于某些原因您阻止该帐户.在这种情况下,用户仍将登录并使用您的服务.为避免这种情况,您可以调用重新加载配置文件,这将比重新登录更快.
归档时间: |
|
查看次数: |
2043 次 |
最近记录: |