我打算创建一个 android 应用程序( future 是 iOS),如果在该用户的当前位置(例如:2 公里半径)内创建了一个事件,它将向附近的用户发送推送通知
目前我的想法是让 android 应用程序连接到 nodejs 服务器和 mongodb 以存储创建的事件。
但是,我一直在尝试找出在事件创建后通知附近用户的最佳方式和方式。这是我目前的想法:
- 监听 mongodb 中的变化(每当有人创建新事件时),
- 发送请求以获取所有用户的位置及其指定的警报半径
- 查询并向指定警报半径内的用户发送推送通知。 (通过谷歌云消息传递)
使用此方法,创建事件后进入指定半径的用户将无法收到推送通知。
有没有其他更简单或更好的方法来实现这一目标?
最佳答案
只是我的两分钱:
这取决于您打算创建多少“事件”以及这些“事件”是如何创建的以及谁创建了这些“事件”,但我会选择这个解决方案:
- 将所有“事件”存储在 Google Firebase 数据库
- Google Firebase 数据库会自动将所有“事件”与您安装了 Android/iOS 应用程序的所有设备同步
- 让应用程序自己决定,如果一个或多个“事件”在 是否警戒半径
- 让应用通知用户
- 如果您的应用用户也创建了“事件”,您不需要任何服务器 完全
- 如果您有创建“事件”的管理员,您可能需要一个小的 将“事件”输入 Google Firebase 数据库并删除它们的网络应用
我的开放式问题是:
- 将创建多少个“事件”?几十、几千、几十亿……?
- 谁创建了“事件”?用户?管理员?
- “事件”会过时吗?如果是,谁从数据库中删除过时的“事件”?
关于android - 通过 GCM 使用 android 和 nodejs 的地理定位推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41124267/