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