在 getstram.io 中,将自定义数据添加到 activity 中是否是一个好的设计

In getstram.io, is it a good design to add custom data to an activity

我正在试验 getstream.io 来实现提要和时间线。我想知道在简单地使用作为数据库键的参与者和对象或在 activity 中存储更多数据之间最好的方法是什么。 例如,假设我想将 activity 添加到我的用户供稿中:

Actor: ‘user_1´,
Verb: ‘post’,
Object: ‘note_3’

其中“user_1”和“note_3”指的是我的应用程序中的对象。当检索活动以在 UI 中呈现它们时,我可以从我的数据库中获取“user_1”以获取更多详细信息,例如图片 URL 和名称。这涉及为每个 activity 获取大量数据。或者,我可以通过添加自定义数据(例如“user_url”和“user_name”或整个用户对象来将更多数据存储到 activity 中。

有人遇到过同样的问题吗?什么是更好的方法?

_由于最初提供了这个答案,Stream 添加了一个名为 Collections 的新功能,它提供了一种可能更可取的新方法。


尽管使用标识符和 enrichment 从您的后端服务合并额外数据的步骤是首选方法,但两者都是可行的。

保持活动 'light weight' 最大限度地减少延迟和网络传输时间。

活动规模也有限制;一些额外的文本字段或 counters/values 足够了,但不足以存储 base64 编码的图像或其他二进制数据。

文档还提供了关于 what to store 的建议。