Getstream在平面Feed中看到和看不见的帖子

时间:2016-08-04 06:12:54

标签: getstream-io

Getstream是否支持"见过"并且"看不见"帖子?

基本上,我希望能够向用户显示自上次访问该帖子以来已发布到Feed的新帖子数量。 在他们看到Feed上的新帖子后,将看不见的帖子数量重置为0。

我知道通知Feed具有相似的功能,但最佳做法是明智的,使用它而不是扁平馈送似乎不是一个好主意(可能我错了)< / p>

更新情景

每个用户都有(global_feed_notifications:user_uuid)

之后的(global_feed_flat:1)

用户将活动添加到其(user_posts_flat:user_uuid)

活动有to:["global_feed_flat:1"]

期望(global_feed_notifications:user_uuid)因扇出而将该活动视为未见和未读通知。

更新

情景失败。

explorer for user_posts:user_uuid

export function followDefaultFeedsOnStream(userapp){
    const streamClient = stream.connect(STREAM_KEY, STREAM_SECRET);

    const globalFeedNotifications = streamClient.feed(feedIds.globalFeedNotifications, userapp);
    globalFeedNotifications.follow(feedIds.globalFeedFlat, '1');
}

export function addPostToStream(userapp, post){
    const streamClient = stream.connect(STREAM_KEY, STREAM_SECRET);
    const userPosts = streamClient.feed(feedIds.userPosts, userapp);
    //expansion point: if posts are allowed to be friends only,
    //calculate the value of the 'to' field from post.friends_only or post.private

    const activity = {
        actor: `user:${userapp}`,
        verb: 'post',
        object: `post:${post.uuid}`,
        post_type: post.post_type,
        foreign_id: `foreign_id:${post.uuid}`,
        to: [`${feedIds.globalFeedFlat}:1`],
        time: new Date()
    }

    userPosts.addActivity(activity)
    .then(function(response) {
       console.log(response);
    })
    .catch(function(err) {
       console.log(err);
     });
}

更新

嗯,我不确定发生了什么,但一天之后它突然开始工作了。

1 个答案:

答案 0 :(得分:1)

仅在通知Feed上支持未读和未读。您可以将汇总格式设置为{{ id }}以避免任何聚合,但仍会利用未读和未见指标的强大功能。