programing

파이어베이스로 추가 사용자 정보 추가

showcode 2023. 6. 9. 22:12
반응형

파이어베이스로 추가 사용자 정보 추가

파이어베이스 인증을 안드로이드 앱에 통합했습니다.사용자가 메일을 가지고 있다고 가정합니다.abc@abc.com사용자의 이름, 직업, 주소와 같은 추가 정보를 추가하고 싶습니다.사용자 인증 테이블을 안드로이드 앱과 연결하려면 어떻게 해야 합니까?

그것을 위한 API를 작성해야 합니까?

먼저 다음을 생성합니다.users디렉터리가 DB에 있습니다.그런 다음 authn 프로세스에서 얻은 사용자의 고유 ID를 사용하여 다음에 사용자 정보를 저장합니다.users/{userid}.

이를 위해서는 Firebase 데이터베이스의 세부 정보를 확인해야 합니다.다음을 참조하십시오. https://firebase.google.com/docs/database/android/save-data

이를 위해 사용자 지정 코드를 작성할 필요는 작성할 필요가 없습니다.Firebase에는 이미 사용할 수 있는 기능이 있습니다.

가장 먼저 해야 할 일은 사용자가 저장한 데이터에만 액세스할 수 있도록 하는 것입니다.이 작업을 수행하려면 다음으로 이동Database/Rules규칙을 다음과 같이 변경합니다.

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

그런 다음 Firebase 데이터베이스에 새 세부 정보를 저장하려면 다음을 수행합니다.

        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 규칙이 모두 일치해야 합니다. 그렇지 않으면 유지되지 않습니다.

모든 것이 정상적으로 진행되면 데이터베이스에 다음과 같은 세부 정보가 표시됩니다.

여기에 이미지 설명 입력

"user"라는 다른 데이터베이스 테이블을 만들어야 합니다.로그인에 성공하면 처음으로 사용자 테이블에 새 행을 만들어야 합니다.

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

https://github.com/firebase/quickstart-android/tree/61f8eb53020e38b1fdc5aaeddac2379b25240f3b/database 를 참조할 수 있습니다.

언급URL : https://stackoverflow.com/questions/39076988/add-extra-user-information-with-firebase

반응형