2016-06-14 4 views

ответ

6

Это больше порта ответа IOS я дал here

Firebase обеспечивает аутентификацию пользователей, использующих FIRAuth Clases/API

Однако они не могут быть изменены с помощью пользовательских полей, таких как База данных Firebase.

Чтобы разрешить пользовательские поля для пользователя, необходимо дублировать пользователей в базе данных с тем же уникальным uid, который вы получаете в auth пользователя. Что-то вроде этого

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser(); 
if (user != null) { 
    // User is signed in 
    String name = user.displayName; 
    String email = user.email; 
    String photoUrl = user.photoURL; 
    String uid = user.uid; 


    FirebaseDatabase database = FirebaseDatabase.getInstance(); 
    String key = database.getReference("users").push().getKey(); 

    Map<String, Object> childUpdates = new HashMap<>(); 
    childUpdates.put("uid", uid); 
    childUpdates.put("name", name); 
    // other properties here 

    database.getReference("users").updateChildren(childUpdates, new DatabaseReference.CompletionListener() { 
     @Override 
     public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) { 
      if (databaseError == null) { 

      } 
     } 
    }); 
} 

Мы толкнуть его на users конечной точки в нашей БД и с uid ключа с помощью следующей строки /users/\(key).

Теперь вы можете получить подробную информацию о пользователях из своей базы данных, запросив в любом месте вашего кода.

+0

Спасибо, это был мой вопрос, было ли возможно или нет – magnoleal

Смежные вопросы