我需要一个提示 - 是不是可以将消息推送到仅位于某些特定区域的 iphone(基于地理的通知)?

Posted

技术标签:

【中文标题】我需要一个提示 - 是不是可以将消息推送到仅位于某些特定区域的 iphone(基于地理的通知)?【英文标题】:I need a hint - is it possible to push a msg to iphones that are only in some particular area (geo-based notifications)?我需要一个提示 - 是否可以将消息推送到仅位于某些特定区域的 iphone(基于地理的通知)? 【发布时间】:2016-01-12 20:59:31 【问题描述】:

我不确定这是否可能,我只是需要一些提示 - 让我们假设这样的场景:

用户在他们的 iPhone 上安装我的应用程序 有一天我在我的网络服务上放了一个 gps 坐标和一些小信息 此信息 + 坐标被推送到我在开始时给出的坐标周围(例如 +/- 10 英里)的 iPhone 上 此区域(+/- 10 英里)内的所有用户都会收到推送通知并可以打开我的应用程序 在其他时候,我重复了这个场景,但坐标不同(因此它等于不同的目标群体)

这可能吗?我在考虑Deferring location updates while app is in the background,但我不确定这是否也适用于网络服务每次给出的不同位置......

我想到的另一个解决方案是将消息和坐标推送给我的应用程序的所有用户,但仅在具有匹配 gps 坐标的用户中显示它 - 但我想这是不可能的,因为当我发送消息时 -每个人甚至在计算他们的 gps 坐标之前都会看到它,对吗?

对不起,如果这是一个糟糕的问题,我现在才刚开始使用 ios... 感谢您的任何提示!

【问题讨论】:

【参考方案1】:

ArcGIS 有一些很好的工具可以解决这个问题,也就是说,如果您愿意为访问他们的 API 付费。他们还有一个完整的开发团队待命,将为您开发应用程序。不过,在这种情况下,与 ArcGIS 合作是大材小用。

我的建议是在应用程序管理网站上保留坐标、实际通知和半径数据库,例如:socket.io,并让它将任何新数据推送到客户端应用程序,让客户端应用程序检查他们的数据库中的 GPS 位置...做一些简单的数学运算来确定客户端设备是否在半径范围内,如果是,则显示推送的通知...然后就可以了。

【讨论】:

谢谢你,我会仔细看看socket.io!但是,有一个问题 - 您写道,我应该在应用程序管理站点上保留一个坐标数据库,并将任何新坐标推送到客户端应用程序。这是一个聪明的解决方案,但是 - 如果我的应用程序的任何用户不在所需的范围内 - 他还会在手机上看到推送通知吗?或者它会在背景中,并且只有在他处于指定(期望的)地理区域时才会看到它? 您在数据库中包含的数据将是坐标、实际通知和半径。它将所有这些推送给客户端,客户端将使用数学来决定它是否在半径内......然后显示通知 对答案进行了澄清^ 感谢您的耐心等待! :) 所以我明白这一切,只剩下一个问题 - 当服务器将带有坐标和半径的通知推送到客户端应用程序时 - 他们是否总是通知用户已收到推送消息,还是仅在与坐标匹配时通知用户?换句话说 - 是否可以发送“隐藏/静音”推送消息并仅在一切匹配时调用我的应用程序? 这完全取决于编写客户端代码的人。我假设您不希望显示通知,除非它们在可以很容易地完成的半径范围内。是的,通知将由客户端设备下载,但一旦设备“意识到”它不在半径范围内,它就可以删除下载的数据或忽略它。

以上是关于我需要一个提示 - 是不是可以将消息推送到仅位于某些特定区域的 iphone(基于地理的通知)?的主要内容,如果未能解决你的问题,请参考以下文章

使用 SignalR,是不是可以将消息批量推送到不断变化的客户端集合?

如果项目位于 javascript 对象中,如何将其推送到数组中 [state.lastValue.push 不是函数]

Firebase 云消息传递仅适用于本地主机

如何将文件推送到驼峰中的现有tar文件(fileName.tar)?

Image Scraper 将所有附件从单个消息推送到数组

将数据推送到页面而不定期检查?