GoogleSignIn DEFAULT_GAMES_SIGN_IN错误

时间:2018-03-06 23:23:04

标签: android firebase google-signin

所以我试图为我的应用实施google signIn。我有调试版本,发行版和所有内容的oAuth客户端ID。我还实施了Firebase。

好吧,如果我在Builder中使用DEFAULT_SIGN_IN,一切正常,但是如果我为DEFAULT_GAMES_SIGN_IN更改它,意图什么都不做(尝试弹出但它只是崩溃)并且我得到" signInResult:failed code = 12501& #34 ;.我认为这是因为意图没有说明,因为它没有正确加载。

 gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN)
            .requestIdToken(getString(R.string.default_web_client_id))
            .requestEmail()
            .build();
mGoogleSignInClient = GoogleSignIn.getClient(this, gso);

//OnClick for the sign in
private void signIn() {
    Intent signInIntent = mGoogleSignInClient.getSignInIntent();
    startActivityForResult(signInIntent, RC_SIGN_IN);
}

我还尝试使用我的调试密钥而不是web来提供requestIdToken。什么都没发生。

我检查了SHA-1,即application_ID,如果允许API与Google Play游戏相关联......我不知道我是否遗漏了某些东西。

2 个答案:

答案 0 :(得分:0)

我知道我有点迟了但是如果你想使用DEFAULT_GAMES_SIGN_IN那么你必须用requestServerAuthCode替换requestIdToken并代替requestEmail你可以使用requestProfile

答案 1 :(得分:0)

我在AndroidManifest.xml文件中使用元数据

<meta-data android:name="com.google.android.gms.games.APP_ID"
        android:value="@string/app_id" />
    <meta-data android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version"/>

它可以解决12501错误