2014-09-12 12 views
2

RSS Feed에 새로운 항목을 추가 할 때 푸시 알림을받는 간단한 Android 애플리케이션을 개발하는 중입니다. 백엔드는 Google App Engine에 있습니다. 나는 원래 Superfeedr에 대해 알기 전까지 30 분마다 Feed를 폴링하기 위해 Cron을 사용하기 시작했다.Google App Engine에서 XMPP 지원

사용하기가 쉽습니다. 나는 기본적으로 따라야 할 피드 URL, 콜백 URL 및 몇 가지 다른 매개 변수를 포함하는 특정 매개 변수로 HTTP Post 요청을 작성합니다.

나는 구글 앱 엔진에 배포하는 응용 프로그램에 XMPP 지원을 추가하는 방법의 예를 보았다, 나는 질문이있다 : 응용 프로그램 엔진 문서에 따르면

을 : URL 경로/_ah/XMPP/메시지/채팅은 XMPP 메시지를 보낼 수 있도록 예약되어 있습니다. 두 번째 XMPP URL이 필요한 경우 URL 경로의 모양에 제한이 있습니까?/_ah/xmpp/message/chat를 사용해야 할 필요가 있습니까?

내가 알 수있는 한, Superfeedr는 다른 피드에 대해 별도의 콜백 URL을 권장합니다. 나는 그것이 당신이 어떤 피드를위한 것인지를 결정하기 위해 메시지를 수동으로 파싱하는 작업을 거칠 필요가 없을 것이라고 가정하고 있습니다.

요청에서 XMPP 메시지를 구문 분석하는 것이 간단 해 보이므로 문제가 발생할 경우/_ah/xmpp/message/chat 이외의 Servlet 내부에서 parseMessage를 호출하려고하는지 확신 할 수 없습니다.

감사

답변

0

/_ah/xmpp/message/chat URL 앱이 앱 엔진 XMPP 인프라에서 수신 XMPP 메시지를 수신하기 위해 사용하는 엔드 포인트입니다. 시나리오에서 Superfeedr의 콜백으로 직접 사용하지 않을 것입니다. 앱의 JID ([email protected] 또는 *@app-id.appspot.com)로 보낸 XMPP 메시지에 반응하는 것은 앱에서만 사용합니다.

Superfeedr가 RSS 업데이트를 푸시하기 위해 HTTP 엔드 포인트 콜백을 사용할 수있는 것처럼 보입니다. 이러한 목적으로 자신의 디자인을 가진 엔드 포인트를 사용할 수 있습니다. PubsubHubbub 구독의 콜백 필드를 사용하려는 앱의 HTTP URL로 설정합니다. Superfeedr와 상호 작용하기 위해 XMPP가 필요하지 않습니다. (기술적으로는 XMPP Pubsub 기능과 앱의 JID 중 하나 인 /_ah/xmpp/message/chat에 매핑 된 요청 처리기를 사용할 수 있습니다.)

XMPP를 고려중인 경우 Android 푸시의 경우 해당 부분에 대해 Google Cloud Messaging (GCM)을 사용할 수 있습니다. https://developer.android.com/google/gcm/index.html

2

줄리앙 여기 Superfeedr에서 :)

은 XMPP 및 콜백 URL을 혼동하지 마십시오 : XMPP는 XMPP 프로토콜을 사용하여, 완전히 다른 API 동안 콜백 URL이 (PubSubHubbub를 기반으로) 우리의 HTTP API를위한 (XEP60)가 필요합니다. 그들은 단지 <presence>하고 Superfeedr와 함께 작동하도록해야 할 것입니다 <iq> 같은 <message> 아닌 다른 요소를 suppport 때문에

은 이제 GAE 중 XMPP의 기능이 마비된다. 즉, PubSubHubbub API를 사용해야합니다.

그러면 Dan이 말했듯이 구독하는 각 피드마다 다른 콜백 URL을 사용해야합니다.