在安卓中实现故事功能



我想在Facebook或WhatsApp中实现类似于Stories功能的东西。

可能的方法

  1. 起初,我想打开一个网络套接字,以便接收最新的快拍更新(来自朋友的新快拍,或者如果快拍被删除了(。

  2. 还有另一种选择 - 使用 FCM 推送获取这些更新。 接收推送的服务使用 LocalBroadcastManager 广播"新故事"/"已删除故事"广播,并且注册到此广播的适当活动接收该更新。

使用推送方法,这意味着即使应用程序被杀死,仍然可以触发推送。 这似乎有点浪费。

但考虑到可能会有连接速度慢、连接断开等,websocket 也相当"脆弱"。

另外,如果故事的 24 小时过期,如何确保我始终从故事列表视图中删除该故事并且不继续显示它? 使用套接字,我们可能会失去连接。如果我们在收到故事时间已过期的通知后重新连接,我们仍然会显示该故事。

只需将故事及其创建日期一起存储在某种数据库中即可。然后,客户端可以定期获取新故事。根据创建日期,客户可以计算故事的年龄并决定是否显示它。

如果客户看到了一个故事,他可以将该信息存储在本地存储中,以便观看的故事可以显示为旧故事。

现在对于清理部分,有两个选项。要么你编写一个在服务器上运行 24/7 的程序,就像客户端一样,定期从数据库中获取故事,检查它们的年龄并删除那些太旧的。另一种方法将使用相同的概念,但所有普通客户端都会从数据库中删除旧故事。

但是,第二种选择将非常不安全,因为年龄计算可能会在客户端被错误地或攻击者操纵。

最新更新