新しいGoogleクラウドメッセージング(GCM)を見ていましたが、AndroidアプリケーションでインスタントメッセージングにGCMを使用できるかどうか疑問に思いましたか?
メッセージなどのデータをサーバーから送信できるのを見ましたが、あるデバイスから別のデバイスに送信することもできますか?そして、これはどのように機能しますか?いくつかのサンプルコードは本当に役に立ちます。
Tnx!
公式ドキュメント Google Cloud Messaging for Androidは、GCMを使用してインスタントメッセージングアプリを開発できると述べています。
...または、最大4kbのペイロードデータを含むメッセージである可能性があります(したがって、インスタントメッセージングなどのアプリはメッセージを直接消費できます)。
そこで、GCMを使用してインスタントメッセージングアプリを作成しました。サーバー側はGoogleAppEngineを利用しています。ここで完全なチュートリアルを読むことができます。 Googleクラウドメッセージング(GCM)を使用してインスタントメッセージングアプリを作成する
したがって、AndroidのインスタントメッセージングにGCMを使用して、質問に答えることができます。ただし、IMのXMPPと比較したGCMの信頼性は別のトピックです。
ちょうど私の2セント:
IMの配信にGCMを使用するべきではないと思います。 Android IMアプリが永続的なソケット接続を使用して接続する専用サーバーが必要です。サーバーは誰がオンラインであるかを認識しているため、すべてのユーザーに「オンラインリスト」を表示できます。アプリ。
GCMは、ユーザーがオフラインであるか、アプリを実行していないときに機能します。 「XXXXがチャットしたい」ことを示すGCMメッセージを送信できます。その後、アプリを起動して、チャットセッションに自動的に接続できます。
Googleは、GCMメッセージの配信は保証されていないと述べています。この理由だけでは、インスタントメッセージングをそれらに依存することはお勧めできません。
Pub nubを試してみてください-実装は非常に簡単です-あるモバイルから別のモバイルにImを送信します-ブラウザでWebページ(リンクを参照)を起動し、PCとモバイルの間でチャットします-そして動作します-「サーバーなし」で。コードはjavascript用ですが、Javaもあります。 jquerymobile Webアプリフレームワークを使用したチャットアプリ
サーバーがGCMサービスにメッセージを送信する方法を確認することをお勧めします。サーバー側でphpを使用することが可能であるため、アプリケーションから直接POSTリクエストに適合させることができるはずです。ただし、通信するには、必要なデバイスの登録済みIDが必要です。データを送信するには、データを保存して取得するための何かが必要になることを意味します。最善の解決策は、すべてのIDを保存し、メッセージ送信を処理する独自の(Web)サーバーです。