Android FirebaseUI从提供商处获取有关用户的额外信息

时间:2016-10-04 17:16:28

标签: android facebook-graph-api firebase firebase-authentication firebaseui

我使用FirebaseUI Android为用户登录时使用以下代码:

 startActivityForResult(
                AuthUI.getInstance().createSignInIntentBuilder()
                        .setLogo(R.drawable.firebase_auth_120dp)
                        .setProviders(getSelectedProviders())
                        .setIsSmartLockEnabled(false)
                        .setTheme(R.style.AppTheme)
                        .build(),
                RC_SIGN_IN);

private String[] getSelectedProviders() {
        ArrayList<String> selectedProviders = new ArrayList<>();
        selectedProviders.add(AuthUI.EMAIL_PROVIDER);
        selectedProviders.add(AuthUI.GOOGLE_PROVIDER);
        selectedProviders.add(AuthUI.FACEBOOK_PROVIDER);
        return selectedProviders.toArray(new String[selectedProviders.size()]);
    }

使用以下代码从onActivityResult获取数据:

if (requestCode == RC_SIGN_IN) {
            handleSignInResponse(resultCode, data);
            return;
        }

一切都好。我正在通过以下方式获取用户的显示名称,电子邮件,照片网址和uid:

FirebaseUser currentUser = FirebaseAuth.getInstance().getCurrentUser();
currentUser.*(); 

现在我只获得有关用户的有限数据。我也想要用户的出生日期,生物和兴趣等。我怎么能得到它?

1 个答案:

答案 0 :(得分:1)

这似乎已在此处得到解答:Firebase Auth get additional user info (age, gender)

  

不幸的是,Firebase没有任何内置功能可以在成功登录后获得用户的性别/生日。您必须自己从每个提供程序中检索这些数据。