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") 

Source: https://habr.com/ru/post/J113806/


All Articles