14

チャット メッセージングを実装する必要がある Android アプリを開発しています。1 対 1 のチャットまたはグループ チャットを希望します。

しかし、どうやって始めたらいいのかわからない。このようなことで私を助けてください。どんな助けでも大歓迎です。

4

2 に答える 2

33

シンプルなチャット メカニズムには 2 つの基本機能があります

  1. メッセージをサーバーに送信します (受信者に関する情報を含む)

  2. サーバーからメッセージを受信 (自分のユーザー名に指定)

最初のステップは簡単です。受信者に関する追加情報を含むメッセージを受け入れる Web サービスを作成できます。サーバー側の任意の言語を使用して作成できます。

サーバーからメッセージをフェッチするステップ 2 は、サーバーからメッセージを (ポーリングを使用して) プルするか、サーバーから Android フォンにメッセージをプッシュするという 2 つの手法を使用して実行できます。

  1. ポーリング: この場合、Android デバイスは数秒後にサーバーにアクセスし続け、ユーザーが利用できるメッセージがあるかどうかを確認します。これも、クライアント側で単純な非同期タスクを使用して実装できます。このタスクは、たとえば 2 ~ 3 秒後に Web サービスを呼び出し続けます。これは、ユーザーがアプリにアクセスしている場合 (gmail や facebook などの通知なし) にのみチャットを有効にして、使用していないときにポーリング サービスを強制終了できるようにする場合に使用しても問題ありません (そうしないと、リソースが消費されます)。

  2. プッシュ通知: プッシュ通知を使用することをお勧めします。Android は、サーバーからのプッシュを簡単に実現するのに役立つGoogle クラウド メッセージングまたは GCM ( http://developer.android.com/google/gcm/index.html ) を提供します。それ以外の場合は、要件に応じて、urbanairship や pushwoosh などのサードパーティ API を試すことができます。プッシュ通知は、ユーザーがアプリを使用していないときでもメッセージを受信するのに役立ちます.

一言で言えば、Android でチャット サービスを実装するには、メッセージを受信する Web サービスとプッシュ通知メカニズムで十分です。

アーバンエアシップについて少し

iOS と Android の両方をサポートする必要があったため、プロジェクトの 1 つでプッシュ通知に UA を使用しました。Android GCM をサポートしたいだけなら、良い選択肢かもしれません。

UA に戻って、サンプル コードと使用方法を確認してください: https://docs.urbanairship.com/display/DOCS/Home

仕組みは簡単で、誰かがアプリをインストールしてインターネットに接続すると、アプリ自体が UA サービスに登録されます。インストールされたアプリごとに一意のコードが指定されます (これは、ユーザー名と一意のコードをキャプチャして、DB のどこかに保存できるときです)。Next UA は、UA で利用可能な一意のコードを使用して、指定された受信者にメッセージをプッシュできる API を提供します。これらのメッセージは、Android アプリで受信し、要件に従って使用できます。アプリが実行されていなくても、メールやメッセージを受信したときと同じように通知を表示できます

于 2013-01-07T05:46:50.093 に答える
0

Scringoなどの既存のプラットフォームを使用できます。1 対 1 のチャット、グループ チャット (クライアントとサーバーの両方)、およびプッシュ通知サービスを利用できます。

于 2013-04-29T07:23:14.593 に答える