getstream.io 経由で Facebook の反応のようなものを実装しています。アクティビティ (「リアクション」) の投稿と削除は正常に機能します。
基本:
- フィードの変更をリアルタイムで反映する getstream のソケット機能 (faye) を実装しているときに、新しいアクティビティのソケット メッセージの形式が、削除されたアクティビティのソケット メッセージの形式と異なることに気付きました。
削除済みと新規のそれぞれに 1 つのリアクションがある例:
{
  "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"
}
- フラット フィードに続く集約フィードを購読してい ます。
- フラットフィードを介してアクティビティを追加および削除します。
- フラット フィードと集約フィードの両方のサブスクリプションは、アクティビティを追加および削除するときに同じメッセージを返します。
私が直面している課題:
- (経由で) 1 つのアクティビティを削除するforeign_idと、削除された配列に 5 つの ID が表示されるのはなぜですか?
- gestream.io からのソケット メッセージをダイジェストするときに、アプリの変更を反映するためにforeign_id が必要です。これは、完全なオブジェクトが送信されるため、新しいアクティビティに対して正常に機能します (上記の例を参照)。ただし、削除されたアクティビティについては、単に配列idsが送信されるため、欠落しています。
考えられるアプローチ:
- どうにかして getstream faye サブスクリプションまたは構成を構成foreign_idsして、削除されたアイテムを (また) 返すことはできますか?
- idsソケット メッセージに基づいてさらにそれらを取得しようとすることもできますが、これはほとんどばかげているようです。
どうもありがとうございました。