我的游戏目前正在使用菜单中的登录和注销按钮,以便使用Google Play排行榜/成就。不幸的是,用户也可以从google play ui注销,但是gamehelper.issignedin()在通过google的ui执行此操作时仍然返回true。当用户试图检查排行榜或成就后,用户签署了这种方式,游戏崩溃。
有没有人知道一种更新的方法来检查用户是否通过ui注销?我说更新,因为我看到stackoverflow中有几个线程不工作。

最佳答案

我刚刚跟踪了https://developers.google.com/games/services/training/signin
一切都很好。
它正在使用

boolean mExplicitSignOut = false;
boolean mInSignInFlow = false; // set to true when you're in the middle of the
                           // sign in flow, to know you should not attempt
                           // to connect in onStart()
GoogleApiClient mGoogleApiClient;  // initialized in onCreate

@Override
protected void onStart() {
   super.onStart();
   if (!mInSignInFlow && !mExplicitSignOut) {
    // auto sign in
    mGoogleApiClient.connect();
   }
}

@Override
public void onClick (View view) {
if (view.getId() == R.id.sign_out_button) {
    // user explicitly signed out, so turn off auto sign in
    mExplicitSignOut = true;
    if (mGoogleApiClient != null && mGoogleApiClient.isConnected()) {
        Games.signOut(mGoogleApiClient);
        mGoogleApiClient.disconnect();
    }
}
}

08-04 22:35