使用Firebase / AppEngine自定义用户个人资料数据

时间:2017-03-12 22:58:00

标签: android google-app-engine firebase firebase-authentication google-cloud-datastore

我正在开发一个应用程序,用户应该能够关注他们的收藏用户。目前,身份验证是通过Firebase的身份验证系统在Android应用上完成的。

要在Android应用中获取对当前用户的引用,我可以执行以下操作:

FirebaseUser user = firebaseAuth.getCurrentUser();

user对象只有几种与用户个人资料互动的方法,例如.getEmail.getDisplayName().getPhotoUrl()。但是,似乎没有办法将自定义数据添加到用户的个人资料中。

我也一直在检查App Engine和Cloud Endpoints,并计划将其集成到各种功能中。

将自定义用户数据(例如当前用户所关注的用户列表)添加到我的应用程序的正确方法是什么?

我的第一个问题是将每个用户的引用存储在Cloud Datastore中,然后将自定义数据存储在那里,但这似乎是我复制应该已经存在于Firebase中的功能。

这里最好的行动方案是什么?

1 个答案:

答案 0 :(得分:0)

您应该使用从getProviderData()返回的getUid() method on FirebaseUsergetUid() method on the UserInfo

这有两个原因:

  1. 您希望能够区分来自不同提供商的相同显示/电子邮件的两个帐户(例如Google与Facebook)。

  2. 对于某些提供商,用户电子邮件地址可能会在UID保持不变的情况下发生变化。例如,属于域名的Google帐户就是如此。