Nic*_*ias 5 android firebase firebase-authentication
我正在使用 Firebase 注册并记录不同提供商(谷歌、Facebook 和电子邮件)的用户。我已经使用这个功能三个月了,到目前为止效果很好。然而,此时,当我安装应用程序后第一次登录时,需要10多秒的时间。我跟踪了该行为,发现该侦听器导致了延迟。
private FirebaseAuth firebaseAuth;
...
firebaseAuth.signInWithCredential(credential).addOnSuccessListener(new OnSuccessListener<AuthResult>() {
@Override
public void onSuccess(AuthResult authResult) {
// This function is called after more than 10 seconds
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
//
}
});
Run Code Online (Sandbox Code Playgroud)
关于为什么需要太长时间的任何想法?有什么方法可以更深入地跟踪该函数以找到问题的确切根源?
此特定侦听器(onSuccess)正在从 Firebase 服务器启动回调,这可能是导致延迟的原因。这就像向远处的墙壁扔一个球,然后等待它反弹才能接住。
这将侦听您的登录事件,甚至在成功登录后,它也会等待 Firebase 响应以明确确认登录已成功。我个人觉得你不需要这个回调检查。因为您可以在实际功能中轻松检查错误和成功登录。
编辑:您应该使用 .onCompleteListener 并检查。我希望这将使代码逻辑保持某种相似,并且仍然给出更好的结果
归档时间: |
|
查看次数: |
4807 次 |
最近记录: |