私はgetstream.ioでFacebook反応のようなものを実装しています。 アクティビティの投稿と削除(「反応」)はうまくいきます。Getstream.io:socket/faye経由の削除されたアクティビティのメッセージフォーマット
基礎:
- リアルタイムでフィードの変更を反映するためにGETSTREAMのソケット機能(フェイ)を実装している間、私は新たな活動のためのソケットメッセージのフォーマットが削除された活動のためのものと異なることがわかりました。削除され、新たに一つの反応をそれぞれ有する
例:
{
"deleted": [
"d5b1aee0-5a1a-11e6-8080-80015eb61bf9",
"49864f80-5a19-11e6-8080-80015eb61bf9",
"47fe7700-5a19-11e6-8080-80015eb61bf9",
"4759ab80-5a19-11e6-8080-80015eb61bf9",
"437ce680-5a19-11e6-8080-80015eb61bf9"
],
"new": [
{
"actor": "user:55d4ab8a11234359b18f06f6:Manuel Reil",
"verb": "support",
"object": "control:56bf2fb884e5c0756e910755",
"target": null,
"time": "2016-08-04T11:48:23.168000",
"foreign_id": "55d4ab8a11234359b18f06f6:support:56bf2fb884e5c0756e910755",
"id": "58d9c000-5a39-11e6-8080-80007c3c41d8",
"to": [],
"origin": "control:56bf2fb884e5c0756e910755"
}
],
"published_at": "2016-08-04T11:48:23.546708+00:00"
}
- をIは、フラットフィードを以下凝集フィードを購読。
- フラットフィードを使用してアクティビティを追加したり削除したりします。
- フラットフィードと集約フィードの購読は、アクティビティの追加と削除の両方で同じメッセージを返します。
課題私が直面しています:
- 私は(
foreign_id
経由)ONEアクティビティを削除する - なぜ削除された配列内の5つのIDを表示されていますか? - gestream.ioからソケットメッセージを消化する際に、アプリケーションの変更を反映させるためにforeign_idを設定する必要があります。完全なオブジェクトが送信されるので、これは新しいアクティビティでうまく動作します(上記の例を参照)。ただし、削除されたアクティビティの場合は、
ids
という配列だけが送信されます。
潜在的なアプローチ:
- 私は何とか(も)削除された項目について
foreign_ids
を返すために、私のGETSTREAMフェイサブスクリプションや設定を設定することはできますか? - さらに、ソケットメッセージに基づいてそれらを
ids
にフェッチしようとすることもできますが、これはほとんどばかげたようです。
ありがとうございました。
スーパークイック回答 - ありがとうございます。広告1)foreign_id経由での削除はクールです。広告2)集計されたフィードを表示しています。したがって、IDはそこでは役に立ちません。しかし、私はフラットフィードも取得し、そこからハッシュマップを構築することができました。あなたは集約されたフィードの場合の良いアイデアを知っていますか? –