我们正在开发一个基于XMPP的通知系统,我们有一个服务器和几个Android设备,我们的OpenFire服务器充当通信网关。
在服务器端,有一个OSGi包,负责接收来自设备的所有消息并映射相应的操作。
我想避免匿名登录,控制谁向服务器发送邮件,但另一方面我希望客户端在使用我们的android-client时自动注册。
好吧,我的第一个想法是 listen 到AccountManager
并检查任何新的createad帐户,如果继续,则将其添加到服务器名册。
第二个选项是处理所有订阅请求,检查任何内容,并将其添加到服务器名单中以防万一。对于第二个选项,客户需要请求订阅服务器,但很容易实现。
我找到了第二个选项here的可能解决方法,但您认为哪个选项最好?
除了这两项之外的任何其他建议/建议也是受欢迎的。
答案 0 :(得分:1)
看起来pubsub(XEP-0060)会更合适,因为它根本不需要你的名册管理。 Android设备成为发布者,您的捆绑包将成为订阅者。
基于有限的信息,看起来您可以简单地让所有用户成为同一个节点的发布者,然后发布服务器端捆绑包将订阅并相应处理的消息。
Smack on pubsub的一些文档。