我目前正在 Android Studio 中开发一个应用程序,该应用程序使用 Firebase 进行登录过程。在这种情况下,我们仅使用 Google 的社交登录。
我几天前完成了实施并将其安装在实际设备上,并且能够确认我可以毫无问题地登录。 之后,当我在 Google Play 商店上发布并测试该应用程序时,从 Play 商店下载的应用程序拒绝登录。 我收到的消息如下
登录尝试失败。
我想解决这个问题。
登录意图由以下代码定义。
public void createSignInIntent() {
// [START auth_fui_create_intent]
// Choose authentication providers
List<AuthUI.IdpConfig> providers = Arrays.asList(
new AuthUI.IdpConfig.GoogleBuilder().build()
);
// Create and launch sign-in intent
startActivityForResult(
AuthUI.getInstance()
.createSignInIntentBuilder()
.setAvailableProviders(providers)
.build(),
RC_SIGN_IN);
// [END auth_fui_create_intent]
}
该函数在 onCreate 方法中调用。 意图结果的接收定义如下。
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RC_SIGN_IN) {
IdpResponse response = IdpResponse.fromResultIntent(data);
if (resultCode == RESULT_OK) {
// Successfully signed in
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
CheckUsers(user);
} else {
Toast.makeText(MainActivity.this,"Sign-in attempt failed.",Toast.LENGTH_LONG).show();
}
}
//...
}
从上面的代码可以看到,resultCode不是RESULT_OK,所以登录看起来并没有完成。
请给我一些建议!
将 Play Store 控制台中存在的应用程序签名密钥 (sha) 证书添加到您的 Firebase 控制台的应用程序签名中。而且效果会很好。