0

以下は、Google Play サービスにアクセスする私のゲームの実行順序です。

STEP1: 利用可能なユーザーが 2 人の Google ログイン画面が表示されます。(ユーザー1とユーザー2)

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

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

結果には a)scoreと b)が含まれますhighestAchievementToBeUnlocked

ログインに成功した後、またはゲームの終了時に、実績の詳細がファイルから読み取られ、Google コンソールに送られます。

上記の手順で問題ありませんが、次の状況で混乱しています。

a) ユーザーが「USER1」としてサインインし、ゲームをプレイすると、実績の詳細が Google サービスにフィードされます。

b) ユーザーがサインオフして「USER2」としてログインし、ゲームを開始すると、詳細が Google サービスに送られます。

c) ステップ a) の繰り返し

上記の状況を処理するための最良の方法を決定するために私を導いてください。「USER2」が自分のアカウントで中間ゲームを行った場合でも、「USER1」が以前の実績でゲームを続行できるようにプログラムするにはどうすればよいですか?

前もって感謝します !!

4

1 に答える 1

1

あなたがやろうとしていることは、Google アカウントにサインインすることでカバーする必要があります。ほとんどの場合、これは Play ストアにサインインしているアカウントでもあります。

基本的に、デバイスにログインしている Google アカウントがあれば、そのアカウントに実績が保存されます。

ここで述べたように:

プレーヤーがサインインし、GoogleApiClient が接続されると、ゲームは実績 API を使用して開始できます。

次に、サインアウトをゲームに実装して、さまざまなアカウントに道を譲ることができます。

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

于 2016-04-12T11:25:49.237 に答える