通过 GCM 使用 android 和 nodejs 进行地理定位推送通知
Posted
技术标签:
【中文标题】通过 GCM 使用 android 和 nodejs 进行地理定位推送通知【英文标题】:geo-targeted push notification with android and nodejs via GCM 【发布时间】:2016-12-13 15:03:07 【问题描述】:我计划创建一个安卓应用程序(未来的 ios),如果在用户当前位置(例如:2 公里半径)内创建事件,它将向附近的用户发送推送通知
目前我的想法是让 android 应用程序连接到 nodejs 服务器和 mongodb 以存储创建的事件。
但是,我一直在尝试找出创建事件后通知附近用户的最佳方式和最佳方式。这是我目前的想法:
-
监听 mongodb 的变化(每当有人创建新事件时),
发送请求以获取所有用户的位置及其指定的警报半径
查询并发送推送通知给指定警报半径内的用户。 (通过 Google 云消息传递)
使用此方法,事件创建后进入指定半径的用户将无法收到推送通知。
还有其他更简单或更好的方法来实现这一点吗?
【问题讨论】:
【参考方案1】:只要我的两分钱:
这取决于您打算创建多少“事件”以及这些“事件”是如何创建的以及谁创建了这些“事件”,但我会选择这个解决方案:
将所有“事件”存储在 Google Firebase 数据库中 Google Firebase 数据库会自动将所有“事件”与您安装了 Android/iOS 应用的所有设备同步 让应用程序自己决定,如果一个或多个“事件”在 警戒半径与否 让App通知用户 如果您的应用用户也创建“事件”,您不需要任何服务器 完全没有 如果您有创建“事件”的管理员,您可能需要一个小的 网络应用程序将“事件”输入 Google Firebase 数据库并删除它们对我来说未解决的问题是:
将创建多少个“事件”?数十、数千、数十亿……? 谁创建了“事件”?用户?管理员? “事件”会过时吗?如果是,谁从数据库中删除过时的“事件”?【讨论】:
以上是关于通过 GCM 使用 android 和 nodejs 进行地理定位推送通知的主要内容,如果未能解决你的问题,请参考以下文章
Nodejs AES-256-GCM 通过 webcrypto api 解密加密的客户端消息
有时一些 android 用户没有通过 GCM 收到推送通知
通过 Internet 通知 Android 设备,无需 gcm