bil*_*ob2 5 firebase firebase-authentication
抱歉,如果这是一个简单的问题..但我似乎找不到一个好的答案。
我想实现匿名登录,用户只需通过其设备登录即可。我猜测 iOS 和 Android 上的设备没有唯一的 ID.. 所以我想我必须手动生成一个 ID,然后查看它是否已在使用,然后是否重新生成。对于这种事情有解决办法吗?我的解决方案看起来真的很hacky......
我目前的想法,逻辑上是:
我需要能够跟踪哪些设备已将哪些信息推送到数据库,但我不想让用户必须登录或提供任何信息。
听起来您正在寻找 Firebase 的匿名身份验证。用户第一次启动应用程序时,您可以使用以下命令登录:
FirebaseAuth.getInstance().signInAnonymously()
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
// Sign in success, update UI with the signed-in user's information
Log.d(TAG, "signInAnonymously:success");
FirebaseUser user = mAuth.getCurrentUser();
updateUI(user);
} else {
// If sign in fails, display a message to the user.
Log.w(TAG, "signInAnonymously:failure", task.getException());
Toast.makeText(AnonymousAuthActivity.this, "Authentication failed.",
Toast.LENGTH_SHORT).show();
updateUI(null);
}
// ...
}
});
Run Code Online (Sandbox Code Playgroud)
这会为他们生成一个唯一的 UID,并将其存储在您应用程序的共享首选项中。
下次他们启动应用程序时,系统会读取他们的用户信息,您可以通过以下方式检测用户:
FirebaseUser currentUser = FirebaseAuth.getInstance().getCurrentUser();
updateUI(currentUser);
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅Firebase 身份验证文档。这在iOS上也可用。
| 归档时间: |
|
| 查看次数: |
3741 次 |
| 最近记录: |