如何最好地按时间戳保存聊天中的消息?

亚历山大·希特维

我有以下关于创建聊天室的问题。消息模型有一个creationTimeStamp属性,它是在用户从设备发送消息时分配的。当另一个用户(或多个用户)收到此消息时,目前我不会在设备本地接收消息时更改此属性。我在 Realm 中本地保存的消息。问题是,例如消息是一次发送给第一个用户的,但是由于互联网连接速度较慢,第二个用户已经有时间发送他的消息(或消息),然后第二个用户在他之后出现此消息发送消息给ChatViewController, 但是当他离开这个控制器并返回时,他的消息将显示在最后,而不是第一个用户的消息,因为当我从 Realm 获取消息时,我按creationTimeStamp 对它们进行排序。所以我想学习保存时间戳的最佳实践,对于这种情况。

是否可以更好地更改creationTimeStamp设备上收到消息的时间?但是如果用户拥有不止一台设备,这里也存在问题。虽然我认为这就是消息在 iMessage 中的存储方式,因为它们具有设备之间的同步性,所以我在快速创建消息时附加了相同对应的屏幕截图。

在此处输入图片说明 在此处输入图片说明

律所

不幸的是,我没有适合您的最佳实践,只有一些想法。

I think what you want to achieve is quite hard to achieve without inconveniencing users. What I mean is that due to internet connection speed, different users may all have different point of view about timing of your messages. You could correct/sync their view after some time using creationTimeStamp to resort messages, but then messages on screen will be reordered which could be annoying.

I guess you could think about different approach - is it that important that all users have the same timeline view? When some time ago we were implementing a group chat we agreed on the notion that single user can have different timeline view. Then we used recievedTimeStamp for sorting, for local messages receivedTimeStamp is the same as creationTimeStamp. It worked out pretty well for us, but of course you can have different requirements.

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Flutter聊天应用程序可保存设备时间中的消息时间戳

来自分类Dev

如何按时间戳平均表行?

来自分类Dev

如何在python中使用时区最好地调整时间戳?

来自分类Dev

如何最好地检索网络版 Firebase 中给定聊天室的所有评论?

来自分类Dev

覆盖网络聊天中的时间戳格式

来自分类Dev

在bash中按时间间隔标记时间戳

来自分类Dev

如何在Powershell中按时间戳对文本数据进行排序

来自分类Dev

如何使docpad @document集合按时间戳降序排列

来自分类Dev

如何按时间戳将日期分组?(AngularJS)

来自分类Dev

如何按时间戳对 javascript 对象进行反向排序

来自分类Dev

如何编写 linq 查询以按时间戳排序

来自分类Dev

我如何按时间戳值对坐标进行分组

来自分类Dev

无法在熊猫数据框中按时间戳编制索引

来自分类Dev

在jQuery中按时间戳排序数组

来自分类Dev

需要帮助在Swift中按时间戳对结构进行排序

来自分类Dev

在Cloudkit.JS中按时间戳对记录进行排序

来自分类Dev

在SparkR的DataFrame中按时间戳过滤行

来自分类Dev

在 Cloud Functions 中按时间戳从 Cloud Firestore 查询

来自分类Dev

PostgreSQL按时间戳过滤

来自分类Dev

MySQL按时间戳分组

来自分类Dev

RxJava按时间戳分组

来自分类Dev

Meteor - 按时间戳排序

来自分类Dev

Mongoose 按时间戳删除

来自分类Dev

firebase 按时间戳过滤

来自分类Dev

如何查询存储在表中的消息,以便获得按发件人分组的消息以及按时间排序的组?

来自分类Dev

如何准确地保存和检索上次看到的消息时间戳 - plist 或 NSUserDefaults

来自分类Dev

在R中更改LINE聊天记录的时间戳格式

来自分类Dev

SNS中的时间戳-> SQS消息正文

来自分类Dev

如何最好地在GridView中优化毕加索?

Related 相关文章

  1. 1

    Flutter聊天应用程序可保存设备时间中的消息时间戳

  2. 2

    如何按时间戳平均表行?

  3. 3

    如何在python中使用时区最好地调整时间戳?

  4. 4

    如何最好地检索网络版 Firebase 中给定聊天室的所有评论?

  5. 5

    覆盖网络聊天中的时间戳格式

  6. 6

    在bash中按时间间隔标记时间戳

  7. 7

    如何在Powershell中按时间戳对文本数据进行排序

  8. 8

    如何使docpad @document集合按时间戳降序排列

  9. 9

    如何按时间戳将日期分组?(AngularJS)

  10. 10

    如何按时间戳对 javascript 对象进行反向排序

  11. 11

    如何编写 linq 查询以按时间戳排序

  12. 12

    我如何按时间戳值对坐标进行分组

  13. 13

    无法在熊猫数据框中按时间戳编制索引

  14. 14

    在jQuery中按时间戳排序数组

  15. 15

    需要帮助在Swift中按时间戳对结构进行排序

  16. 16

    在Cloudkit.JS中按时间戳对记录进行排序

  17. 17

    在SparkR的DataFrame中按时间戳过滤行

  18. 18

    在 Cloud Functions 中按时间戳从 Cloud Firestore 查询

  19. 19

    PostgreSQL按时间戳过滤

  20. 20

    MySQL按时间戳分组

  21. 21

    RxJava按时间戳分组

  22. 22

    Meteor - 按时间戳排序

  23. 23

    Mongoose 按时间戳删除

  24. 24

    firebase 按时间戳过滤

  25. 25

    如何查询存储在表中的消息,以便获得按发件人分组的消息以及按时间排序的组?

  26. 26

    如何准确地保存和检索上次看到的消息时间戳 - plist 或 NSUserDefaults

  27. 27

    在R中更改LINE聊天记录的时间戳格式

  28. 28

    SNS中的时间戳-> SQS消息正文

  29. 29

    如何最好地在GridView中优化毕加索?

热门标签

归档