通过 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 解密加密的客户端消息

GCM使用java发送消息

有时一些 android 用户没有通过 GCM 收到推送通知

通过 Internet 通知 Android 设备,无需 gcm

Android- Open Fire、云连接服务器和 GCM 之间的区别

如何通过 Windows Azure 通过 GCM 通过唯一 ID 发送特定 Android 设备的通知?