У меня есть простая игра, с помощью кнопки полноразмерного она показывает наивысший балл игрока, прежде чем отправлять на этот вопрос, я убедился о следующем:SIGN_IN_REQUIRED - Google Игры
- SHA1 Fingerprint.
- API-интерфейсы включены.
- Правильный пакет.
- Правильный идентификатор приложения.
- Добавлены и добавлены библиотеки покупок Google Play.
- Файл конфигурации импортирован.
- Отчеты Admob, Analytics и crash работают нормально.
- GET ACCOUNTS уже добавлен, все тот же.
Моя проблема, нет счета Chooser/сборщика не показывает, и это даже не вход, им получить следующее сообщение об ошибке:
ConnectionResult{statusCode=SIGN_IN_REQUIRED, resolution=PendingIntent{fbd982b: [email protected]}, message=null
Код:
public class MainActivity extends AppCompatActivity implements
GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener {
ImageButton mLeaderBoard;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_welcome);
mLeaderBoard = (ImageButton) findViewById(R.id.leaderboard);
mLeaderBoard.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ShowBoard();
}
});
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(Games.API)
.addScope(Games.SCOPE_GAMES)
.addScope(SCOPE_PLUS_PROFILE)
.build();
}
@Override
protected void onStart() {
super.onStart();
mGoogleApiClient.connect();
}
@Override
protected void onStop() {
super.onStop();
if (mGoogleApiClient.isConnected()) {
mGoogleApiClient.disconnect();
}
}
private void ShowBoard() {
if(!isSignedIn()){
mGoogleApiClient.connect();
}
mGoogleApiClient.connect();
if(isSignedIn())
startActivityForResult(Games.Leaderboards.getLeaderboardIntent(mGoogleApiClient,
LEADERBOARD_TOP_SCORE_ID), 1);
else
Toast.makeText(this, getResources().getString(R.string.leaderboard_not_available), Toast.LENGTH_LONG).show();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// Check which request we're responding to
if (requestCode == 1) {
Log.i("GoogleSignInApi","Result: " + resultCode + " - Data: " + data.getData());
if (resultCode == RESULT_OK) {
}
}
}
@Override
public void onConnected(Bundle bundle) {
}
@Override
public void onConnectionSuspended(int i) {
mGoogleApiClient.connect();
}
@Override
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
Log.i("GoogleSignInApi","Problem: " + connectionResult.getErrorMessage() + " - Test: " + connectionResult.toString());
}
}
Игра уже опубликована, и все прошло как 5 часов. – Jaeger
Решено, проверьте это: http://stackoverflow.com/a/27787091/5646429 – Jaeger