3

この質問を元の投稿よりも簡潔でわかりやすいものにしようと思います。
Google Game Services を使用して実績とリーダー ボード情報を記録し、App Engine を使用してユーザー データとゲーム情報を保存する Android アプリがあります。
これらはそれぞれ個別に機能しますが、一緒に機能させることはできません。

開発者コンソールを介して Google ゲーム サービスにリンクされたアプリを作成すると、clientId が登録され、開発者コンソールとクラウド コンソールに表示されます。

この時点で、クラウド コンソールに 2 つのプロジェクトがあり、1 つはゲーム サービス用、もう 1 つは App Engine 用です。

しかし、クラウド コンソールでアプリ エンジン プロジェクトの Android アプリのパッケージ名と SHA 証明書フィンガープリントを使用して同じ clientId を作成しようとすると、その特定の clientId が既に使用されているというエラーが表示されます。最初に App Engine クラウド コンソール プロジェクトで clientIds を作成し、次にそれらを Game Services デベロッパー コンソールに追加しようとすると、同じことが起こります。

App Engine とゲーム サービスの両方を使用する Android アプリを作成する方法はありますか?

4

2 に答える 2

1

私はこれを理解しました。振り出しに戻ると、私が作っていたものよりもはるかに単純であることがわかりました。

これを行う方法は次のとおりです。
クラウド コンソールでアプリ エンジン プロジェクトを設定します。Cloud Endpoints with Android の場合、Android clientId と Web clientId を作成する必要があります。ただし、Android clientId はまだ作成しないでください。後で開発者コンソールから作成されます。必要に応じて、この時点で Web clientId を作成しても問題ありませんが、後で作成することもできます。

次に、Developer Console -> Game Services -> Add a new game に移動します。

「ゲームで既に Google API を使用しています」タブをクリックしてください。これで、この新しいゲームをアプリ エンジン プロジェクトにリンクできるようになります。(これは、開発者コンソールを介して既にゲームを作成していて、プロセスのこのステップを今まで再検討していなかったことを見逃していたものです)。

これで、残りの指示に従うことができます

https://developers.google.com/games/services/console/enabling

Game Services ゲームの開発者コンソールから clientId を作成すると、クラウド コンソールにも表示されます。

これをエンドポイント コードで Android ClientId として使用できます (上記で Android ClientId を作成しなかったのはこのためです)。

エンドポイントが Android クライアントに必要とする Web clientId をまだ作成していない場合は、ここで作成します。

Android アプリケーションからゲーム サービスを呼び出したり、Android アプリケーションからアプリ エンジンを呼び出したりできる必要があります。

于 2013-11-18T03:44:15.350 に答える
0

Google Play デベロッパー コンソールの [GameServices] タブで新しいゲームを追加した後にゲームを承認する必要がある場合は、既存の API を選択できます。これらの clientID は、既存の Google コンソール プロジェクトに追加されます。

Android アプリでは、ゲーム サービス用に選択したアカウント名を使用して、App Engine にログインできます。アクティビティが BaseGameActivity を拡張する場合、次のように選択されたアカウント名を取得します。

Plus.AccountApi.getAccountName(getApiClient())
于 2014-08-28T11:03:20.690 に答える