0

私はそれをどのように行うかではなく、次にどこに行くべきかについてもっとアドバイスを求めています。

私は学生プロジェクトとして拡張現実Androidゲームを開発していますが、問題に遭遇しました。4台の電話はお互いの位置を知り、それを時間ステップとともに地図上に表示する必要があります(ゲームのために、実際にはリアルタイムではないはずです)。それに加えて、電話/プレーヤーの1人がどこかに到着したとき、または何かをしたときに、プレーヤーに通知する必要があります。

私はPHPサービスでそれをやりたかったのです。そこでは、各電話が数秒で残りの位置をチェックし(すべてJSONで)、その位置を送信し、それだけです。非常に単純ですが、ゲームが進むにつれて、多くの非同期化と一貫性のないデータが発生するのではないかと心配しています。電話は全員がサインインするのと同じ秒で起動しないためです。また、この方法でイベントを実行する方法がわかりません(たとえば、プレーヤーの1人がクロークする可能性があり、彼の位置はこれ以上更新されるべきではありません。次のx秒)、または場所に到達するか、マップ上にまだ残っているアイテムを取得します(プレイヤーはアイテムを「拾う」ことができます)。誰かが他の人より早く知っているでしょう。

これは本当にプッシュのようなソリューションを必要としますが、私はC2DMにあまり精通しておらず、それを使用することは開発の実際のオーバーヘッドであるように思われます。 tクラウドにプッシュします(またはできますか?)。C#とJavaは知っていますが、スレッド化などを解決する必要があるため、時間がかかります。これにC2DMを使用することもできますか?

基本的に、私はより経験豊富な開発者の考えを求めていますが、同期のためのここでの最良の解決策は何ですか?PHPとサーバーの定期的なチェックの問題を解決する方法はありますか、それともクラウドサービスとより複雑なサーバーを続行する必要がありますか?

長い説明でごめんなさい:)。

4

2 に答える 2

1

申し訳ありませんが、これは簡単ではありませんが、自分のアプリでまったく同じ問題が発生しました。これを回避する方法はありません。必要です。

  1. データを管理および配布するためのRESTAPIを備えたサーバー
  2. 友達/グループを設定する方法
  3. データをプッシュする方法

グーグルクラウドメッセージングは​​実際にはそれほど問題ではありません。

グーグルIO2012コードをチェックしてください、彼らは多くのコードでそれを利用していません。

http://code.google.com/p/iosched/source/browse/

本当に構築する必要があるのは、デバイスを識別してこれらの友達のグループを設定できるようにするためのかなりの数の機能を備えたRESTAPIです。友達ネットワークを確立するためにFacebook統合を使用することをお勧めします。

https://developers.facebook.com/

また、REST APIを設定する方法は無限にありますが、私が見た中で最速のものは、今年GoogleIOでリリースされました。それがGoogleAppEngineEndPointsです。

http://devthots.blogspot.com/2012/07/building-awesome-android-apps-with.html

于 2012-08-06T23:56:33.680 に答える
0

Cometを試してみてください。すべてはhttpリクエストです。

于 2012-08-06T23:42:49.423 に答える