파이어베이스로 추가 사용자 정보 추가
파이어베이스 인증을 안드로이드 앱에 통합했습니다.사용자가 메일을 가지고 있다고 가정합니다.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
'programing' 카테고리의 다른 글
목표-C 클래스에서 C 함수 혼합 (0) | 2023.06.09 |
---|---|
boto3를 사용하여 S3 객체를 파일에 저장하는 방법 (0) | 2023.06.09 |
Excel의 행/열 값 재정렬/셔플 (0) | 2023.06.09 |
asp.net 에서 캐시를 잠그는 가장 좋은 방법은 무엇입니까? (0) | 2023.06.09 |
C# ASP.NET에서 전체 쿼리 문자열 가져오기 (0) | 2023.06.09 |