Jas*_*rne 31 android firebase firebase-authentication firebase-realtime-database
我已将firebase auth与我的Android应用程序集成.让我们说用户有邮件abc@abc.com.我想向用户添加一些额外的信息,如用户名,职业和地址.如何将用户auth表与我的Android应用程序连接起来呢?
我需要为此编写任何API吗?
Ugu*_*rim 17
首先,users在db中创建一个目录.然后,使用从authn进程获得的用户唯一ID,将用户信息存储在users/{userid}.
为此,您需要了解Firebase数据库的详细信息.请参阅此处:https://firebase.google.com/docs/database/android/save-data
ojo*_*ifu 14
您无需编写任何自定义代码即可执行此操作.Firebase已经具备了您可以使用的功能.
您需要做的第一件事是确保用户只能访问他们存储的数据.要执行此操作,请转到Database/Rules并将规则更改为:
{
"rules": {
"my_app_user": {
"$uid": {
".write": "auth != null && auth.uid == $uid",
".read": "auth != null && auth.uid == $uid"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后,要将新详细信息保存在Firebase数据库中,请执行以下操作:
MyAppUser user = new MyAppUser();
user.setAddressTwo("address_two");
user.setPhoneOne("phone_one");
...
mDatabaseReference.child("my_app_user").child(firebaseUser.getUid()).setValue(user).
addOnCompleteListener(DetailsCaptureActivity.this,
new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
...
Run Code Online (Sandbox Code Playgroud)
孩子的名字my_app_user必须与您的代码和Firebase规则相匹配,否则它将不会持续存在.
如果一切按预期进行,您应该在数据库中看到详细信息:
小智 6
你必须创建另一个数据库表说“用户”。成功登录后,首次注册您必须在用户表中创建一个新行。
public static void writeNewUser(DatabaseReference databaseReference, String userId, String name, String email, int accountType) {
User user = new User(name, email, accountType);
databaseReference.child("users").child(userId).setValue(user);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37694 次 |
| 最近记录: |