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?

  • Wie bekomme ich alle Daten des Kindes in der Firebase-Datenbank?
  • Ich möchte eine berechnete Priorität mit dem von Firebase bereitgestellten Server-Zeitstempel festlegen
  • Wie man ein List-Objekt aus der Firebase in Android abruft
  • Com.google.firebase.database.DatabaseException: Serializing Arrays wird nicht unterstützt, bitte verwenden Sie stattdessen Lists
  • Wie kann man GeoFire-Koordinaten zusammen mit anderen Elementen in der Firebase-Datenbank speichern?
  • NoClassDefFoundError: com.google.firebase.FirebaseOptions
  • Firebase Android: langsam "beitreten" mit vielen Hörern, scheint zu widersprechen Dokumentation
  • Firebase: Wenn onDisconnect Event Feuer?
  • 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.