我的游戏目前正在使用菜单中的登录和注销按钮,以便使用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();
}
}
}