web-dev-qa-db-ja.com

Android with Google CloudMessaging)でのインスタントメッセージング

新しいGoogleクラウドメッセージング(GCM)を見ていましたが、AndroidアプリケーションでインスタントメッセージングにGCMを使用できるかどうか疑問に思いましたか?

メッセージなどのデータをサーバーから送信できるのを見ましたが、あるデバイスから別のデバイスに送信することもできますか?そして、これはどのように機能しますか?いくつかのサンプルコードは本当に役に立ちます。

Tnx!

17
dumazy

公式ドキュメント Google Cloud Messaging for Androidは、GCMを使用してインスタントメッセージングアプリを開発できると述べています。

...または、最大4kbのペイロードデータを含むメッセージである可能性があります(したがって、インスタントメッセージングなどのアプリはメッセージを直接消費できます)。

そこで、GCMを使用してインスタントメッセージングアプリを作成しました。サーバー側はGoogleAppEngineを利用しています。ここで完全なチュートリアルを読むことができます。 Googleクラウドメッセージング(GCM)を使用してインスタントメッセージングアプリを作成する

したがって、AndroidのインスタントメッセージングにGCMを使用して、質問に答えることができます。ただし、IMのXMPPと比較したGCMの信頼性は別のトピックです。

19
appsroxcom

ちょうど私の2セント:

IMの配信にGCMを使用するべきではないと思います。 Android IMアプリが永続的なソケット接続を使用して接続する専用サーバーが必要です。サーバーは誰がオンラインであるかを認識しているため、すべてのユーザーに「オンラインリスト」を表示できます。アプリ。

GCMは、ユーザーがオフラインであるか、アプリを実行していないときに機能します。 「XXXXがチャットしたい」ことを示すGCMメッセージを送信できます。その後、アプリを起動して、チャットセッションに自動的に接続できます。

Googleは、GCMメッセージの配信は保証されていないと述べています。この理由だけでは、インスタントメッセージングをそれらに依存することはお勧めできません。

10
azgolfer

Pub nubを試してみてください-実装は非常に簡単です-あるモバイルから別のモバイルにImを送信します-ブラウザでWebページ(リンクを参照)を起動し、PCとモバイルの間でチャットします-そして動作します-「サーバーなし」で。コードはjavascript用ですが、Javaもあります。 jquerymobile Webアプリフレームワークを使用したチャットアプリ

0
ozmike

サーバーがGCMサービスにメッセージを送信する方法を確認することをお勧めします。サーバー側でphpを使用することが可能であるため、アプリケーションから直接POSTリクエストに適合させることができるはずです。ただし、通信するには、必要なデバイスの登録済みIDが必要です。データを送信するには、データを保存して取得するための何かが必要になることを意味します。最善の解決策は、すべてのIDを保存し、メッセージ送信を処理する独自の(Web)サーバーです。

0
ZeroTek