web - 个性化网络推送通知
问题描述
我想向注册用户发送网络推送通知,在多个用户可以访问同一设备并且一个人不应该看到另一个用户的消息的情况下,是否有任何最佳实践。
提前致谢。
解决方案
Web 推送通知订阅与浏览器相关联,而不是与设备相关联。
您需要做的是,当他从特定浏览器登录时,将此 id 与您的注册用户映射。此外,您需要删除与系统中任何其他用户的订阅 ID 映射。
在多个用户使用同一个浏览器的情况下,上述逻辑将确保一次特定的浏览器订阅 ID 仅链接到单个用户。
当您想向注册用户发送通知时,您可以检索数据库中链接到该用户的所有推送订阅 ID,并触发对这些订阅 ID 的通知。
并且不要忘记在用户从浏览器注销时取消映射订阅 ID。否则,即使他已注销,他仍将继续收到所有通知。
推荐阅读
- xamarin.forms - 如何在 Xamarin 表单滑动视图中获取偏移属性
- c++ - g++.exe: 安装问题, cannot exec `as': No such file or directory
- ios - Swift - 无法从 UITextField 获取真实文本 - 改为获取 NCISr 结果
- omnet++ - 运行时错误:可能它的代码没有链接,或者类没有注册到 Register_Class()/Define_Module()/Define_Channel()?
- visual-studio - Visual Studio:自动(重新)生成解决方案文件夹
- javascript - 如何拆分字符串中的多个条件?(JavaScript)
- r - 使用 cross 和 .names 进行变异:“胶水无法将函数插入字符串”错误
- java - Vuforia + ArCore 相机模糊
- c - 如何以正确的顺序进行 printf() 打印输出?
- python - 配置:错误:在 Ubuntu 18 中找不到 Python.h