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
ソケット メッセージに基づいてさらにそれらを取得しようとすることもできますが、これはほとんどばかげているようです。
どうもありがとうございました。