我计划创建一个名为users的主树,其中包含用户名不同的用户名.因此,从每个用户名将包括他们的数据,例如全名,地址,电话号码
我想知道如何在用户登录其个人资料时获取每个用户的数据.
我已将firebase auth与我的Android应用程序集成.让我们说用户有邮件abc@abc.com.我想向用户添加一些额外的信息,如用户名,职业和地址.如何将用户auth表与我的Android应用程序连接起来呢?
我需要为此编写任何API吗?
android firebase firebase-authentication firebase-realtime-database
我想向Firebase用户对象添加属性.该用户文档说我可以用火力地堡实时数据库只存储附加属性.
我不确定这在实践中如何发挥作用.
以下在实践中意味着什么?
您无法直接向Firebase用户对象添加其他属性; 相反,您可以将其他属性存储在Firebase实时数据库中.
我把它解释如下:
"你不能修改FIRUser对象的属性,但你可以将它与其他对象结合起来"
我发现了以这种方式插入的set函数文档:
var userRef = ref.child("users");
userRef.set({
newfield: "value"
});
Run Code Online (Sandbox Code Playgroud)
这是一种明智的做法吗?
database-design firebase firebase-authentication firebase-realtime-database
如何在此数据集中添加额外属性电话号码和地址?似乎Firebase文档没有指定任何相关内容.
我已经实现了登录,注册和更新 firebase.auth()
登录 :
//Email Login
firebase.auth().signInWithEmailAndPassword(email, password).then(
ok => {
console.log("Logged in User",ok.user);
},
error => {
console.log("email/pass sign in error", error);
}
);
Run Code Online (Sandbox Code Playgroud)
寄存器:
//Sign Up
firebase.auth().createUserWithEmailAndPassword(email, password).then(
ok => {
console.log("Register OK", ok);
},
error => {
console.log("Register error", error);
}
)
Run Code Online (Sandbox Code Playgroud)
更新:
//User Authentication
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
$scope.data=user;
} else {
// No user, Redirect to login page
}
});
//Save Function
$scope.save=function(values){
$scope.data.updateProfile({
displayName: "Test User",
email: "test@gmail.com",
/* phone: 123412341,
address: …Run Code Online (Sandbox Code Playgroud) 我对 Firebase 比较陌生,正在尝试开发一个应用程序,该应用程序要求用户在注册页面中提供他们的名字和姓氏。但是 firebase createUserWithEmail 方法只存储电子邮件和密码。如何将此姓名和姓氏数据添加到我的应用程序并将它们与用户链接?我想我需要使用 FIRStorage 但那样,只有保存信息的选项是从 NSData 或 NSURL 保存,我该如何保存我的名字和姓氏字符串?
提前致谢!
Edit1:我想我错了,我需要使用实时数据库而不是存储来保存用户数据。但我仍然需要帮助。我来自 Parse,这看起来很复杂。
我试图在我的用户登录时获取并显示他们的信息。(即:姓名、电子邮件、电话)
我尝试了在 youtube 和堆栈溢出上找到的多个片段,但都失败了。大多数教程使用实时数据库,这不是我要找的。
我也尝试制作一个“用户”对象。
private void getData(){
FirebaseFirestore db = FirebaseFirestore.getInstance();
db.collection("users")
//.document(FirebaseAuth.getInstance().getCurrentUser().getUid())
.whereEqualTo("email:", FirebaseAuth.getInstance().getCurrentUser().getUid())
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
for (DocumentSnapshot document : task.getResult()) {
//Toast.makeText(getApplicationContext(),document.getId() +"==>" + document.getData(),Toast.LENGTH_LONG).show();
//Toast.makeText(getApplicationContext(),""+ document.get("Email") ,Toast.LENGTH_LONG).show();
nameEdt.setText((CharSequence) document.get("First Name"));
emailEdt.setText((CharSequence) document.get("Email"));
phoneEdt.setText((CharSequence) document.get("Phone"));
}
} else {
Toast.makeText(getApplicationContext(),"No such document",Toast.LENGTH_LONG).show();
}
}
});
}
Run Code Online (Sandbox Code Playgroud)
我知道 firestore 中的文档与用户无关,但我不知道如何设置我的代码,以便它只从登录的用户那里检索数据*它适用于新创建的帐户,但如果我要登录退出并使用其他用户登录它不会更新“帐户/用户信息”。
简而言之,我将如何访问和显示来自已登录用户的数据库信息?
附加说明:我使用电子邮件和密码进行身份验证