Firebase Auth:通过电子邮件或电话号码获取用户

Aad*_*dam 2 java android firebase firebase-authentication firebase-realtime-database

我正在构建一个Android应用程序,我使用不同的方式让用户注册自己,例如电子邮件/密码、电话、Google、Facebook、Twitter。我还希望用户能够相互添加为联系人。

如果我只使用电子邮件和 Google,那么实现这一点会很容易,因为我可以将用户的电子邮件存储在数据库中,并使用它来识别不同的用户并在他们之间创建关系。

但现在的问题是,用户也可以使用电话号码注册,而 Facebook 帐户也可以仅使用电话号码注册。因此,我不能仅使用电子邮件作为用户的唯一 ID。

我可以通过哪些方法来实现所需的结果,即在数据库中创建唯一的用户 ID,以便用户可以相互添加为联系人?

小智 6

您可以像这样获取用户的电子邮件或电话号码:

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
String phoneNumber = user.getPhoneNumber();
String email = user.getEmail();
Run Code Online (Sandbox Code Playgroud)