Skip to content

onSignInSucceeded()とonSignInFailed()が両方とも呼ばれない問題 [GooglePlayGameServices]

9月 1, 2013

今作っているゲームに、GooglePlayGameServicesを使おうとしたところ、色々と問題が発生したのでメモ。
今回は、特に解決に時間がかかったタイトルの問題について書きます。
BaseGameActivity.beginUserInitiatedSignIn()をしても、onSignInSucceeded()とonSignInFailed()が両方とも呼ばれずサインイン出来ない。
しかし、一度画面を消した後などに復帰すればそのタイミングでサインインがされるという事がありました。

この問題は、onActivityResult()をオーバーライドしている場合に起こります。
Activityをextendsしている場合では、super.onActivityResult()を呼ぶ必要はありませんが、
BaseGameActivityのbeginUserInitiatedSignIn()の処理を完了するためにsuper.onActivityResult()を呼ばなければいけません。
たったこれだけの原因ですが、なかなか解決が困難でした。

	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent intent)
	{
		// これが無ければonSignInSucceeded()・onSignInFailed()が呼ばれない
		super.onActivityResult(requestCode, resultCode, intent);

		/**
		    処理
		**/
	}

こちらを参考にして解決出来ました。
Google Play Game Services: strange sign in behavior

広告
コメントする

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

w

%s と連携中

%d人のブロガーが「いいね」をつけました。