Я пытаюсь войти в Google Play Games. Это код:
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN)
.requestServerAuthCode(getString(R.string.default_web_client_id))
.build();
googleSignInClient = GoogleSignIn.getClient(this, gso);
Я запускаю GoogleSignInActivity с этим кодом:
@Override
public void onClick(View view) {
Intent intent = googleSignInClient.getSignInIntent();
startActivityForResult(intent, SIGN_IN_CODE);
}
});
А потом возвращается сюда:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == SIGN_IN_CODE){
Task<GoogleSignInAccount> task = GoogleSignIn.getSignedInAccountFromIntent(data);
try {
// Google Sign In was successful, authenticate with Firebase
GoogleSignInAccount account = task.getResult(ApiException.class);
firebaseAuthWithGoogle(account);
} catch (ApiException e) {
// Google Sign In failed, update UI appropriately
Log.w(TAG, "Google sign in failed", e);
updateUI(null);
}
}
}
Итак, в этой строке:
Task<GoogleSignInAccount> task = GoogleSignIn.getSignedInAccountFromIntent(data);
Я получаю эту ошибку:
Google sign in failed: com.google.android.gms.common.api.ApiException: 12501
Нет ошибки с сертификатом SHA1, потому что я сгенерировал его много раз и вставил в консоль Firebase, также у меня есть эти разрешения в файле манифеста:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
Любая часть моего кода устарела. Я использую последние зависимости:
implementation 'com.google.firebase:firebase-auth:15.0.0'
implementation 'com.google.firebase:firebase-core:15.0.0'
implementation 'com.google.android.gms:play-services-auth:15.0.0'
Я прочитал всю возможную документацию. Я так отчаялся от этого, почти одну неделю с этой проблемой ...