我已經整合了我的android應用的firebase auth。假設用戶有郵件[email protected]
。我想添加一些額外的信息給用戶,如用戶名稱,職業和地址。我如何連接用戶auth表與我的android應用程序來做到這一點?用firebase添加額外的用戶信息
我需要爲此編寫任何API嗎?
我已經整合了我的android應用的firebase auth。假設用戶有郵件[email protected]
。我想添加一些額外的信息給用戶,如用戶名稱,職業和地址。我如何連接用戶auth表與我的android應用程序來做到這一點?用firebase添加額外的用戶信息
我需要爲此編寫任何API嗎?
首先,在db中創建一個users
目錄。然後,使用您從authn進程獲得的用戶唯一標識,將用戶信息存儲在users/{userid}
之下。
要實現此目的,您需要詳細瞭解Firebase數據庫。看到這裏:https://firebase.google.com/docs/database/android/save-data
有沒有辦法創建自定義用戶ID喜歡我想用電子郵件和密碼創建用戶,但用戶名爲1 –
@MasterYoda有一個原因,爲什麼Firebase數據庫不使用增量作爲他們的唯一ID。相反,他們提供自己的唯一標識符 –
@teckwei,有一個名爲'firebase-admin'的節點模塊可以使用。謝謝。我幾天前得到它。 –
你必須創建另一個數據庫表說「用戶」。在成功登錄後,首次註冊時必須在用戶表中創建一個新行。
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);
}
你不需要編寫任何自定義代碼來做到這一點。 Firebase已具備您可以使用的功能。
您需要做的第一件事是確保用戶只能訪問他們存儲的數據。要做到這一點,去Database/Rules
和改變你的規則是:
{
"rules": {
"my_app_user": {
"$uid": {
".write": "auth != null && auth.uid == $uid",
".read": "auth != null && auth.uid == $uid"
}
}
}
}
然後保存在火力地堡數據庫的新細節,這樣做:
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()) {
...
孩子my_app_user
絕的名稱在您的代碼和Firebase規則中都會匹配,否則它將不會持續。
如果一切順利的應該是,你應該看到在你的數據庫中的細節:
難道要存儲用戶信息,像真正的數據庫表或想獲得從郵件的個人信息id –
是的,我希望他們像一個真正的數據庫。可能是一個nosql json就夠了,否則table就會很好地繼續下去。 現在我打電話給auth.createUserWithEmailAndPassword來創建用戶,我在控制檯中找到它們。 –
你有沒有通過實時數據庫在firebase –