我正在开发一个轻量级Android应用程序,该应用程序在对RSS Feed进行新条目时接收推送通知。后端驻留在Google App Engine上。我最初开始使用Cron每隔30分钟轮询一次Feed,直到我了解了Superfeedr。
听起来很容易使用。我基本上使用某些参数发出HTTP Post请求,这些参数包括我想要遵循的提要URL,回调URL和一些其他参数。
我已经看到了如何在部署到Google App Engine的应用程序上添加XMPP支持的示例,我有一个问题:
根据应用引擎文档:URL路径/ _ah / xmpp / message / chat保留用于发送到的XMPP消息。如果我需要第二个XMPP URL,那么url路径是什么样的限制?我甚至必须使用/ _ah / xmpp / message / chat吗?
Superfeedr,尽我所知,建议为不同的Feed提供单独的回调网址。我假设这样做,所以你不必经历手动解析邮件的工作,以确定它的订阅源。
在请求中解析XMPP消息看起来很简单,所以我不确定我是否尝试在除了/ _ah / xmpp / message / chat之外的Servlet中调用parseMessage,如果这会导致问题
由于
答案 0 :(得分:2)
来自Superfeedr的Julien:)
不要混淆XMPP和回调网址:)回调网址用于我们的HTTP API(基于PubSubHubbub),而XMPP是一个完全不同的API,使用XMPP协议(XEP60)而不是HTTP。
现在,XMPP在GAE中的功能已经瘫痪,因为它们只支持<message>
,而不支持其他元素,例如<presence>
和<iq>
。与Superfeedr合作。这意味着您必须使用我们的PubSubHubbub API。
然后,您确实应该为您订阅的每个Feed使用不同的回调网址,例如Dan说。
答案 1 :(得分:0)
/_ah/xmpp/message/chat
URL是您的应用用于从App Engine XMPP基础架构接收传入XMPP消息的端点。您不会在场景中直接将其用作Superfeedr的回调。只有您的应用才能对发送到应用的JID(app-id@appspot.com
或*@app-id.appspot.com
)的XMPP消息作出反应。
看起来Superfeedr可以使用HTTP端点回调来推送RSS更新。您可以使用自己设计的任何端点来实现此目的。您可以将PubsubHubbub订阅的回调字段设置为您要使用的应用的HTTP URL。您根本不需要XMPP与Superfeedr进行交互。 (从技术上讲,您可以将它与XMPP Pubsub功能和应用程序的JID之一一起使用,并将请求处理程序映射到/_ah/xmpp/message/chat
,但这是一种迂回的方式。)
如果您还考虑使用XMPP进行Android推送,您只需使用Google Cloud Messaging(GCM)即可。 https://developer.android.com/google/gcm/index.html