2016-06-17 7 views
0

私は1対1チャットアプリを開発しています。問題は、どのようにすべてのクライアントとサーバーを同期させておくべきかということです。メッセージがクライアントから送信されなかった場合、またはクライアントが受信しなかった場合は、複数の場合があります。Android:チャットアプリを開発する

現在、私はパブサブサービスとGCMを使用しています。ユーザーがこのアプリを使用しているときはいつでも、私はユニークなチャンネルを購読してメッセージを受信し、APIを使ってメッセージを送信します。また、pubsubを介して私はユーザーのオンライン状態を維持しています。

アプリがバックグラウンドになるたびに、pubsubは切断され、ユーザーはオフラインになります。この場合、GCMはメッセージをクライアントに配信するために使用されます。

このシステムは正常に動作しています。しかし、クライアントに配信されないメッセージはめったにありません。

これを改善してメッセージ配信を保証できますか?

+1

Firebaseを試してみませんか?こちらをご覧くださいhttps://www.youtube.com/watch?v=xAsvwy1-oxE – shiladitya

+0

私はこれに@shiladityaに同意します。 Firebaseのリアルタイムデータベース機能を利用することができます。 –

答えて

1

Hereは良いチュートリアルです。 クライアント側とサーバー側コード付き...

0

解決策は見つかりましたか? そうでない場合は、deepstreamを使用して解決できます。これは、Webソケットを使用するオープンリアルタイムサーバーであり、提供する機能の1つはPubSubです。ここにはJSを使用するexampleがありますが、アンドロイドクライアントでも簡単に実装できます。

関連する問題