onSignInSucceeded()とonSignInFailed()が両方とも呼ばれない問題 [GooglePlayGameServices]
今作っているゲームに、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
コメントする