如何使用Smack 4.1发送信息查询数据包到XMPP服务器?

3
如何发送信息查询包到XMPP服务器,换句话说,如何向服务器发送"..."以查询一些信息?
<iq type='set' id='123'>
 <push xmlns='p1:push'>
   <keepalive max="30"/>
   <session duration="60"/>
   <body send="all" groupchat="true" from="jid"/>
   <status type="xa">Text Message when in push mode</status>
   <offline>false</offline>
   <notification>
       <type>applepush</type>
       <id>DeviceToken</id>
   </notification>
   <appid>application1</appid>
 </push>
</iq>

你想要定制的 IQ 还是这代表了基本的 XEP? - MrPk
我想将上述内容转换为IQProvider以进行配置@MrPk。 - Vishal Patoliya ツ
跳转到第三步:http://stackoverflow.com/questions/37965356/mapping-openfire-custom-plugin-with-asmack-client/37972611#37972611 - MrPk
我想将推送配置发送到Firebase的XMPP,使用@MrPk是否可能? - Vishal Patoliya ツ
让我们在聊天中继续这个讨论 - Vishal Patoliya ツ
1个回答

3

iq 头和命名空间元素是由 smack 自身处理或填充到 xml 中的。以下是一个 XML 中的示例 IQ 数据包及其通过扩展 IQ 数据包实现的内容。

<iq to='jid@domain.in' id='khz0k-13678' type='get'><elementName xmlns='http://jabber.org/protocol/muc#something'><item affiliation="member"/></elementName></iq>

public class IQGetSomething extends IQ {
public static final String ELEMENT = "elementName";
public static final String NAMESPACE = "http://jabber.org/protocol/muc#something";
String memberType;

public IQGetSomething() {
    super(ELEMENT, NAMESPACE);
    setType(Type.get);
}

public String getMemberType() {
    return memberType;
}

public void setMemberType(String memberType) {
    this.memberType = memberType;
}


@Override
protected IQChildElementXmlStringBuilder getIQChildElementBuilder(IQChildElementXmlStringBuilder xml) {
    xml.rightAngleBracket();
    xml.append("<item affiliation=\"").escape(memberType).append("\"/>");
    return xml;
}
}

当XMPP连接初始化时,我们如何使用Firebase通过发送刷新令牌来实现?@Flow - Vishal Patoliya ツ
我该如何通过XML在XMPP中发送上述参数以进行推送配置? @rabhis - Vishal Patoliya ツ
如何在Android中将IQGetSomething发送到连接对象? - Vishal Patoliya ツ
当我尝试在Smack连接中声明这个类对象时,出现了“W/AbstractXMPPConnection: Connection closed with error”的错误。 - Vishal Patoliya ツ

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接