また、 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")