通过GCM

时间:2016-12-13 15:03:08

标签: android node.js mongodb push-notification google-cloud-messaging

我计划创建一个Android应用程序(未来的iOS),如果在该用户的当前位置(例如:2公里半径)内创建了一个事件,它将向附近的用户发送推送通知

目前我的想法是将android应用程序连接到nodejs服务器和mongodb以存储创建的事件。

但是,我一直试图弄清楚在创建事件后如何以及通知附近用户的最佳方式是什么。这是我目前这样做的想法:

  1. 听取mongodb的变化(每当有人创建新事件时),
  2. 发送请求以获取所有用户的位置及其指定的警报半径
  3. 查询并向指定提示半径范围内的用户发送推送通知。 (通过Google云端消息传递)
  4. 通过使用此方法,在创建事件后输入指定半径的用户将无法接收推送通知。

    还有其他更容易或更好的方法吗?

1 个答案:

答案 0 :(得分:1)

只是我的两分钱:

这取决于您打算创建多少“事件”以及如何创建这些“事件”以及谁创建这些“事件”,但我会选择此解决方案:

  • 将所有“活动”存储在 Google Firebase数据库
  • Google Firebase数据库会自动将所有“事件”与安装了Android / iOS应用的所有设备同步
  • 如果一个或多个“事件”在内,请让应用程序自行决定 警报的半径与否
  • 让应用通知用户
  • 如果您的应用用户也创建了“活动”,则不需要任何服务器 在所有
  • 如果您有管理员创建“活动”,您可能需要一个小的 用于将“活动”提供给Google Firebase数据库并将其删除的网络应用

对我来说,未解决的问题是:

  • 将创建多少“事件”?数十万,数十亿......?
  • 谁创造了“事件”?用户?管理员?
  • “事件”能否过时?如果是,谁从数据库中删除过时的“事件”?