GAE XMPP v.2(Java SDK)。 2番目のアプローチからのGAEのJabber

SDKバージョンのリリース1.4.2については、 Habrで既に記述されています。XMPPAPIの2番目のバージョンの変更に興味があります







また、 XMPP APIの最初のバージョンに関するトピックについてもお知らせします





APIのJavadokは著しく太りました。



これで、サービスは承認リクエストに応答し、対話者のステータスを変更できます。



これらの機能は、 appengine-web.xml



ファイルを使用した受信トレイサービスと同じ方法で有効になります。



 <inbound-services> <service>xmpp_message</service> <service>xmpp_presence</service> <service>xmpp_subscribe</service> </inbound-services>
      
      







xmpp_message-すでに馴染みのある着信メッセージサービス。

xmpp_presence-メッセージステータスサービス。

xmpp_subscribe-認証メッセージのサービス。



3つのサービスはすべて、責任のあるイベントが発生すると、特定のURLへのPOSTリクエストを形成します。



「承認イベント」

" / _ah / xmpp / subscription / subscribe / "-対話​​者はログインしたい

" / _ah / xmpp / subscription / subscribed / "-対話​​者はアプリケーションを承認しました

" / _ah / xmpp / subscription / unsubscribe / "-対話​​者はアプリケーションの承認を取り消しました

" / _ah / xmpp / subscription / unsubscribed / "-対話​​者は承認の招待を拒否しました



「ステータスの変更」

" / _ah / xmpp / Presence / Available / "-対話​​者はオンラインでステータスメッセージをサポート

" / _ah / xmpp /存在/使用不可/ "-対話​​者は使用不可

" / _ah / xmpp / Presence / Probe / "-ユーザーの現在のステータスのリクエストへの応答



「着信メッセージ」

" / _ah / xmpp / message / chat / "-着信メッセージが到着しました



サービスを使用する場合は、POSTリクエストを処理する適切なURLにサーブレットをマップする必要があります。 要求には、必要なすべての情報が含まれます。



3種類すべてのイベントには、リクエストの解析に役立つパーサーがあります。



 XMPPService xmpp = XMPPServiceFactory.getXMPPService(); Message message = xmpp.parseMessage(req); //  JID fromJid = message.getFromJid(); String body = message.getBody(); //... Presence presence = xmpp.parsePresence(req); // String from = presence.getFromJid().getId().split("/")[0]; //  JID source (,   "/") String status = presence.getStatus(); //... Subscription sub = xmpp.parseSubscription(req); //- String from = sub.getFromJid().getId().split("/")[0]; //...
      
      







最後に、アプリケーションのステータスを設定します。

 xmppService.sendPresence(toJid, PresenceType.AVAILABLE, PresenceShow.NONE, "My app's status")
      
      






All Articles