2017-10-25 1 views
0

firebase를 사용하여 Android 채팅 응용 프로그램을 만들고 있습니다. 지금까지 나는 일반 그룹 채팅 앱을 만들었습니다. 이제는 개인 채팅 앱으로 만들고 싶습니다.이 앱에는 사용자 목록이 있으며, 해당 목록에서 사람을 선택하면 개별적으로 채팅 할 수 있습니다. 그러나 Firebase에서이 사용자 목록을 가져올 수 없습니다. Firebase Auth UI에 Google 로그인 및 이메일 로그인 옵션을 보관했습니다. 어떤 도움을받을 수 있습니다Firebase Auth를 사용하여 등록한 사용자 목록 검색 중

+0

나는 두 가지 방법이 있다고 생각합니다. 첫 번째 방법은 데이터베이스에있는 사용자의 UID를 저장하고 해당 UID를 사용하여 목록을 렌더링하는 것입니다. 그렇게하면 사용자가 UID를 클릭 할 때 UID가 무엇인지 알 수 있습니다. 또 다른 방법은 사용자 이름, 표시 이름 또는 모든 속성을 사용하여 UID를 검색하는 것입니다. 그러나 서버 인증을 사용해야합니다. 노드 서버를 설정하고 API를 사용하여 사용자 정보를 검색해야합니다 (서버의 중요한 정보를 정리해야 함). – Jason

답변

0

인증 된 모든 사용자의 데이터를 Firebase 인증에서 검색 할 수는 없지만 현재 사용자 만 가져올 수 있습니다.
등록 된 사용자의 데이터를 얻으려면 데이터베이스에 저장 한 다음 전체 배열을 가져와야합니다. 또는 사용자가 전체 사용자에 등록되어 있으면 설정 또는 재설정 할 수있는 인증 플래그를 유지할 수 있습니다 그 반대도 마찬가지입니다.

@Jason에서 언급했듯이 listAllUsers()가 사용자 데이터 일괄 처리를 검색 할 수있는 설명서에서 언급 한대로 Admin SDK를 사용할 수 있습니다.
자세한 설명은 IN THIS THREAD.

+0

admin SDK를 사용하면됩니다. https://firebase.google.com/docs/auth/admin/manage-users를 참조하십시오. – Jason

0

으로 이전 @Sam 지적 찾을 수 있습니다, 당신은 중포 기지 DB에서 정보를 가져올 수 있습니다. 따라서 사용자가 등록 할 때마다 FirebaseUser 세부 정보 (필요하면 그의 다른 세부 정보를 저장할 UID)를 DB에 추가하십시오. 그런 다음 다음 활동에서 리스너를 데이터베이스에 놓기 만하면 모든 등록 된 사용자의 목록을 가져올 수 있습니다. 당신이 uid, email 또는 phoneNumber하여 사용자를 조회해야하는 경우

0

, 당신은 그렇게 할 수있는 관리자 SDK를 사용할 수 있습니다 https://firebase.google.com/docs/auth/admin/manage-users#list_all_users :

https://firebase.google.com/docs/auth/admin/manage-users

또한 심지어 모든 사용자를 다운로드하는 기능이 있습니다

Node.js 백엔드 서버 또는 Firebase 기능이있는 HTTP 끝점을 통해이 작업을 수행해야합니다.

는 또한 관리자 SDK를 사용하면 다른 사용자 그룹을 만들려면 도움이 될 수있는 사용자 지정 사용자 속성을 설정할 수 있습니다 :

https://firebase.google.com/docs/auth/admin/custom-claims

admin.auth().setCustomUserClaims(uid, {groupId: '1234'})