Fügen Sie zusätzliche Benutzerinformationen mit firebase hinzu

Ich habe Firebase auth mit meiner Android-App integriert. Lets sagen, ein Benutzer hat eine Mail abc@abc.com . Ich möchte dem Benutzer zusätzliche Informationen hinzufügen, wie den Namen des Benutzers, der Besetzung und der Adresse. Wie kann ich die Benutzer-Auth-Tabelle mit meiner Android-App verbinden, um das zu tun?

Muss ich irgendwelche APIs dafür schreiben?

  • Android Firebase, bekomm einfach die Daten eines Kindes
  • Wie kann man eine Benutzer-UID in einer Firebase-Datenbank speichern und sie einem POJO zuordnen
  • Firebase: Was ist der Unterschied zwischen setPersistenceEnabled und keepSynced?
  • Fehler: Ausführung fehlgeschlagen für Task ': app: packageDebug'. >! Zip.isFile ()
  • Wie man Auto-Wert mit Firebase 9.2 in Android verwendet
  • DatabaseReference und FirebaseDatabase - kann kein Symbol auflösen
  • Einstellen der benutzerdefinierten Taste beim Drücken neuer Daten in die Firebase-Datenbank
  • Wie man eine bestimmte Liste von Daten aus Firebase abruft
  • 3 Solutions collect form web for “Fügen Sie zusätzliche Benutzerinformationen mit firebase hinzu”

    Erstellen Sie zunächst ein users in db. Dann mit benutzerdefinierten id erhalten Sie von authn Prozess, speichern Sie die Benutzer Info unter users/{userid} .

    Um dies zu erreichen, musst du in die Details der Firebase-Datenbank gelangen. Siehe hier: https://firebase.google.com/docs/database/android/save-data

    Sie müssen eine andere Datenbanktabelle erstellen, die "Benutzer" sagt. Bei erfolgreichem signin, signup zum ersten Mal musst du eine neue Zeile in der Benutzertabelle erstellen.

     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); } 

    Sie können https://github.com/firebase/quickstart-android/tree/61f8eb53020e38b1fdc5aaeddac2379b25240f3b/database verweisen

    Sie müssen keinen benutzerdefinierten Code schreiben, um dies zu tun. Firebase verfügt bereits über Funktionen, die Sie verwenden können.

    Das erste, was Sie tun müssen, ist sicherzustellen, dass Benutzer Zugriff auf nur die Daten, die sie speichern. Um dies zu tun, gehen Sie zu Database/Rules und ändern Sie Ihre Regeln zu diesem:

     { "rules": { "my_app_user": { "$uid": { ".write": "auth != null && auth.uid == $uid", ".read": "auth != null && auth.uid == $uid" } } } } 

    Dann, um die neuen Details in einer Firebase-Datenbank zu speichern, mach das:

      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()) { ... 

    Der Name des Kindes my_app_user muss sowohl in Ihrem Code als auch in den Firebase-Regeln übereinstimmen, sonst wird es nicht bestehen.

    Wenn alles so geht, wie es soll, sollten Sie die Details in Ihrer Datenbank sehen:

    Bildbeschreibung hier eingeben

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.