2011-07-08 44 views
10

XMPPを使用して、アプリケーションがAndroid端末(1.5以上)にアップデートを送信するようにしたいと考えています。私は、XMPPを使って電話にプッシュ通知を送信したいと思っています。プッシュ通知を送信するためのXMPPの実装方法

これを達成するにはどうすればいいですか。現時点では、私のWebアプリケーションはいくつかのサーブレットを使ってApache Tomactで動作していますので、アンドロイドの電話は情報にアクセスできますが、サーバーからクライアントに情報をプッシュできるようにXMPPを実装する方法を理解するのは難しいですアンドロイド携帯電話)。

私はそれがGoogle IDのログインを使用して、以下のチュートリアル Example of XMPP with Google ID login

をテストしています。しかし、私は私のwebアプリケーションを使用して、Googleの実装を行う必要があります。 アイデア

+0

重複参照:http://stackoverflow.com/questions/1366219/can-xmpp-be-used-like-comets-http-long-wait –

+0

@ilia - そうでもないが。 – Robin

+0

私はそれが2.2の下で動作するようにしたいので、 – molleman

答えて

11

プッシュの性質(ポイント・ツー・ポイントまたはパブ・サブ)に依存します。どちらの場合でも、クライアントとアプリケーションが接続されているXMPPサーバーが必要です。これは、アプリケーションがクライアントに通知を送信する手段になります。

「私のウェブアプリケーションをGoogleが実装するものに使用する必要があります」という意味が不明です。あなたのウェブアプリケーションは、あなたの携帯電話のように、xmppサーバのクライアントになります。私はおそらくそうではないと思われるbosh対応のxmppサーバそのものでなければ、xmppを使ってあなたのWebアプリケーションと簡単に会話することはできません。

クライアントの通信にはSmackmany available serversはいずれも使用できます。

通信が特定のクライアントに向けられている場合は、アプリケーションとクライアントの間にchatを作成するのが最も簡単な方法でしょう。それ以上の放送であれば、MUC (multi user chat)またはpubsubのいずれかを使用できます。

+0

私はopenfireを設定しています......しかし、私はどのように私はそれをサーバー側に設定するのかわかりません....私は何をgoogleがアプリケーションiで実装にリンク。ユーザーはアプリケーションにログインし、GoogleのIDを持つ人とチャットできます。しかし、私が望むのは、アプリケーションサーバーがユーザーの多くにチャット(プッシュ通知を送信)する手段です。私は本当にOpenFireサーバに接続するためにスワックを使用する方法はわかりません。 (クライアント側とアプリケーション側の両方) – molleman

1

一般的には、これをpub-sub機能として実装します。 Pub-subは、基本的にはパブリッシュ/サブスクライブのパラダイムです。何かを公開して受信します。

pub-subプロトコルの拡張機能(eJabberなど)をサポートするXMPPサーバーの設定がある場合、アプリケーションではそのサーバーにログインして(更新通知が送信される)ノードにサブスクライブし、サブスクリプションでは、そのノードの通知を処理するハンドラを追加する必要があります。

サーバー側では、すべてのクライアントが知っておく必要があることがあれば、クライアントが購読するのと同じノードに更新を公開します。詳細情報については

http://xmpp.org/extensions/xep-0060.html

関連する問題