1

Android用のチャットアプリケーションを実装しようとしています(ユーザーが同じ場所にいる人と通信できる場所)。地理に特化した Facebook メッセンジャーのことを考えています。これを行うには、繰り返しプル、コメット、ボッシュ、websockects、ソケットプログラミング、xmpp(openfireのようなxmpp対応サーバーが必要)などの用語に出くわしました。しかし、私のリソースは、apache、php (codeignter)、および MySql のみのように修正されています。これを行うための効率的な方法を見つける必要があります。みんな私はこれが必要です。私を助けてください。

ありがとう、アビヤ

4

1 に答える 1

7

Android で推奨されるアプローチは、Google Cloud Messagingです。

Google Cloud Messaging for Android (GCM) は、サーバーからユーザーの Android 搭載デバイスにデータを送信できるようにするサービスです。これは、サーバーからフェッチする新しいデータがあることをアプリに通知する軽量のメッセージ (たとえば、友人がアップロードした映画) である場合もあれば、最大 4kb のペイロード データを含むメッセージである場合もあります (アプリはインスタント メッセージングを好みます)。メッセージを直接消費できます)。

GCM サービスは、メッセージのキューイングと、ターゲット デバイスで実行されているターゲット Android アプリケーションへの配信のすべての側面を処理します。GCM は、メッセージングのニーズがどれほど大きくても完全に無料であり、クォータもありません。

サーバーは Google と通信し、Google はメッセージをリアルタイムで(デバイスの電源が入っていてインターネットに接続されている限り、ほぼそうです) Android デバイスにプッシュします。アプリが初めてインストールされたときに Android デバイスで行われる登録プロセスがあります (その後、登録を再検証するため)。Android アプリでは、この登録 ID をサーバーに送信して、後で使用するために保存できるようにする必要があります。サーバーは、そのデバイスにメッセージをプッシュするときに、この登録 ID を使用します。

サーバーと Google 間の通信プロトコルは JSON over HTTPS です。サーバーは、Google のサーバーと通信できる限り、任意の言語/テクノロジを使用できます。PHP/MySQL アプリケーションは、サービスの基本的な要件を確実に満たすことができます。

GCM 機能を使用するクライアント Android アプリケーションを作成するには、次の基準を満たすアプリケーション サーバーが必要です。

  • お客様とコミュニケーションがとれる方。
  • GCM サーバーへの HTTPS リクエストを送信できます。
  • 指数バックオフを使用して、要求を処理し、必要に応じて再送信できます。
  • API キーとクライアント登録 ID を保存できます。

クライアント側では、Android デバイスは API バージョン 8 (Android 2.2) 以降を実行している必要があります。もちろん、着信メッセージを処理するのも Android アプリの役割です (BroadcastReceiver を使用します。これは、メッセージが到着するたびに Android システムが Intent を受信者に送信するためです)。これにより、必要に応じてメッセージを処理できます。

于 2012-12-29T19:36:06.447 に答える