gpt4 book ai didi

ruby-on-rails - 如何在移动应用后端处理阅读通知

转载 作者:行者123 更新时间:2023-12-04 06:10:19 24 4
gpt4 key购买 nike

我正在结束移动应用程序的开发( ionic ,但无关紧要),由在 Ruby on Rails 5 中开发的后端支持,再次无关紧要,因为这更像是一个理论问题/问题。

这里的问题是,考虑到移动应用程序中的用户可以登录或不登录(他们有很多功能,可能其中一半可以被未登录的用户访问),我应该如何处理存储通知本身和读取状态?注意:对于通知,我不是指推送通知,而是指保留在应用程序侧菜单中的“消息”(我已经涵盖了推送传递)。

这里的主要问题是:我希望能够跟踪已读通知,以防止在用户重新安装应用程序时将它们标记为未读(想象一下,仅仅因为您重新安装了 50 条未读通知)。

我从一个模型开始,用于在后端存储通知:

  • id
  • 用户 ID
  • push_notification_id(引用推送通知id,无关)
  • 读: bool
  • 内容:正文

  • 使用这个模型,我会为每个需要通知的用户插入一行,并用一个 bool 列跟踪它是否被读取。问题是,只有注册用户才能收到通知。

    第二个选项是删除 user_id 引用和服务器端的“读取”属性,并假设我总是要通知所有人,而不是某些用户。但是现在,我需要一种方法来跟踪读取了哪些通知。我可以在移动应用程序中本地执行此操作,将一些 ID 存储在本地存储中,但是如果重新安装,这些 ID 将再次被删除。

    我想到的第三个选项是使用“到期”列服务器端实现第二个选项,这表明在安装新应用程序的情况下,通知应该在默认情况下停止“未读”。这是我迄今为止最好的,但我并不真正相信。

    我知道我在这里要求很多东西,但我只是在寻找一个以前有人做过的好的实现模型,因为我在谷歌上找不到任何东西,而且我确定这是一个重复的设计图案。

    谢谢!

    最佳答案

    在向用户发送通知之前,生成一个哈希值,将其放入通知表和通知正文中。在移动端,当用户打开推送通知时 - 您需要使用该哈希和通知类型(如果需要)向服务器发送请求。服务器获取散列并找出哪个用户并注意到通知已被读取,您可以将标志( isRead )设置为 true,

    关于ruby-on-rails - 如何在移动应用后端处理阅读通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40516019/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com