2

RSS フィードに新しいエントリが作成されたときにプッシュ通知を受け取る軽量の Android アプリケーションを開発中です。バックエンドは Google App Engine 上にあります。Superfeedr について知るまでは、Cron を使用して 30 分ごとにフィードをポーリングし始めました。

使い方は簡単そうです。私は基本的に、フォローしたいフィード URL、コールバック URL、およびその他のいくつかのパラメーターを含む特定のパラメーターを使用して、HTTP Post 要求を作成します。

Google App Engine にデプロイされたアプリケーションに XMPP サポートを追加する方法の例を見てきましたが、質問があります。

アプリ エンジンのドキュメントによると、URL パス /_ah/xmpp/message/chat は、XMPP メッセージの送信先として予約されています。2 番目の XMPP URL が必要な場合、URL パスの形式に制限はありますか? /_ah/xmpp/message/chat を使用する必要さえありますか?

Superfeedr は、私が知る限り、フィードごとに個別のコールバック URL を推奨しています。そのため、メッセージを手動で解析してどのフィード用かを判断する必要がなくなると思います。

リクエスト内の XMPP メッセージの解析は単純に見えるので、/_ah/xmpp/message/chat 以外のサーブレット内で parseMessage を呼び出そうとしても問題が発生するかどうかわかりません。

ありがとう

4

2 に答える 2

2

Superfeedrのジュリアンはこちら:)

XMPP とコールバック URL を混同しないでください :) コールバック URL は HTTP API (PubSubHubbub に基づく) 用ですが、XMPP はまったく異なる API であり、HTTP ではなく XMPP プロトコル (XEP60) を使用します。

現在、GAE 以外の XMPP の機能は無効になっています。これは、Superfeedr で動作させるために必要なや など<message>の他の要素をサポートしていないためです。つまり、PubSubHubbub API を使用する必要があります。<presence><iq>

次に、ダンが言ったように、サブスクライブするフィードごとに異なるコールバック URL を実際に使用する必要があります。

于 2014-09-15T11:12:56.693 に答える
0

URL は、/_ah/xmpp/message/chatアプリが App Engine XMPP インフラストラクチャから受信 XMPP メッセージを受信するために使用するエンドポイントです。シナリオで Superfeedr からのコールバックとして直接使用することはありません。これは、アプリの JID (app-id@appspot.comまたは*@app-id.appspot.com) に送信された XMPP メッセージに反応するためにアプリが使用するためだけのものです。

Superfeedr は、RSS 更新をプッシュするために HTTP エンドポイント コールバックを使用できるようです。この目的のために、独自の設計の任意のエンドポイントを使用できます。PubsubHubbub サブスクリプションのコールバック フィールドを、使用するアプリの HTTP URL に設定します。Superfeedr とやり取りするのに XMPP はまったく必要ありません。(技術的には、XMPP Pubsub 機能とアプリの JID の 1 つを使用して、リクエスト ハンドラーを にマップすることもできますが、/_ah/xmpp/message/chatこれは遠回しな方法です。)

Android プッシュ用の XMPP も考えている場合は、その部分に Google Cloud Messaging (GCM) を使用できます。 https://developer.android.com/google/gcm/index.html

于 2014-09-13T07:33:08.450 に答える