にProviderDataからFirebaseAuthのUserInfoを組み合わせ、これはFirebaseは、ユーザーのアカウント情報を引き出す持っているかである。をGoogle経由でログインしてFirebaseAuthユーザーから引き出されたデータをログインした後、1人の包括的なユーザー
プロファイル情報を取得するにはユーザーにリンクされているサインインプロバイダから取得した場合は、getProviderDataメソッドを使用します。私は、各
profile
から引き出した情報をログに記録する場合
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user != null) {
for (UserInfo profile : user.getProviderData()) {
// Id of the provider (ex: google.com)
String providerId = profile.getProviderId();
// UID specific to the provider
String uid = profile.getUid();
// Name, email address, and profile photo Url
String name = profile.getDisplayName();
String email = profile.getEmail();
Uri photoUrl = profile.getPhotoUrl();
};
}
私は、次のカップルの不完全なデータセットを取得:
06-08 12:48:12.851 14400-14400/com.example.app D/MainActivity: providerId: firebase, uid: 1***************2, name: null, email: d**********[email protected], url: null
06-08 12:48:12.851 14400-14400/com.example.app D/MainActivity: providerId: google.com, uid: 1************5, name: D*******y, email: null, url: https://lh4.googleusercontent.com/.../photo.jpg
は、ユーザ情報を組み合わせ、よりアクセスして、それを保存する標準的な手段がありますデータセット? FirebaseAuth(少なくともこの例では)は、実行時にユーザー情報を取得するための最もきれいな方法ではないようです。