0

以下は、Google Playサービスにアクセスするゲームの実行順序です。Google Playサービス - 複数のアカウントを1つの端末で処理する

ステップ1:利用可能な2人のユーザーがいるGoogleサインイン画面が表示されます。 (USER1とUSER2)

STEP2:ユーザーが選択され、正常にログインしました。

STEP3:ユーザーがゲームをプレイします。 「RESULTS」は、「Preference」でローカルに保存されます。

結果は)scoreおよびb)highestAchievementToBeUnlocked

ログインが成功した後、またはゲームの終わりに、成果の詳細は、ファイルから読み込んで、Googleのコンソールに供給されているが含まれています。

私は上記の手順で問題はありませんが、以下の状況と混同しています。

a)「USER1」と署名されたユーザーがゲームをプレイし、達成の詳細がGoogleサービスに送られます。

b)ユーザーが署名して「USER2」としてログインし、ゲームを開始した場合、詳細はGoogleサービスに送られます。

c)の繰り返し手順a)

上記のような状況に対処するための最良の方法を決定するために私を導いてください。 「USER2」が自分のアカウントで中間ゲームを行ったにもかかわらず、「USER1」が以前の業績でゲームを続けることを許可するように、どのようにプログラムすることができますか?

ありがとうございました!

答えて

1

あなたがしようとしているのは、signing-in Googleアカウントです。ほとんどの場合、これはPlayストアにログインしているアカウントでもあります。

基本的には、デバイスにGoogleアカウントがログインしていると、そのアカウントに達成率が保存されます。

としてはhereを次のように述べています

プレーヤーがで署名され、GoogleApiClientが接続されたら、 あなたのゲームが業績APIを使用して起動することができます。

ゲームには、Signing Outを実装するだけで、さまざまなアカウントに対応できます。

Google Playゲームサービスからユーザーにサインインするには、signOut()に電話してください。 ゲームで他のGoogle Playサービスが使用されている場合は、 もそのサービスからユーザーに署名してください(例: clearDefaultAccount()).Googleサービスからログアウトします。また、 ゲームでは、ユーザーが明示的に に署名したことを示すフラグを設定し、次にゲームアクティビティのonStart() メソッドが呼び出されたときにそのフラグをチェックする必要があります。フラグの値に基づいて、 はconnect()に電話をしてユーザーをサインインするかどうかを決定できます。

関連する問題