在iOS上使用基于位置的推送通知

在iOS上使用基于位置的推送通知,ios,push-notification,location-based-service,Ios,Push Notification,Location Based Service,我正在考虑为一个城市开发一个旅游应用程序,当用户靠近一个“感兴趣的地方”时,他可以在他的设备上得到一个推送(本地) 例如,我会在我的应用程序中添加100个POI,当用户在范围内时,每个POI都会显示100条消息,例如“你靠近……的教堂” 这种情况可能吗?是否可以检查用户的位置,例如,即使应用程序被关闭,每10分钟检查一次,以及在射程内发射本地推送时检查一次?它会消耗多少电池?如果用户关闭GPS,是否会尝试使用3G/wifi信号获取位置 如果是的话,你能告诉我该读些什么吗?也许是一些教程和文章?是

我正在考虑为一个城市开发一个旅游应用程序,当用户靠近一个“感兴趣的地方”时,他可以在他的设备上得到一个推送(本地)

例如,我会在我的应用程序中添加100个POI,当用户在范围内时,每个POI都会显示100条消息,例如“你靠近……的教堂”

这种情况可能吗?是否可以检查用户的位置,例如,即使应用程序被关闭,每10分钟检查一次,以及在射程内发射本地推送时检查一次?它会消耗多少电池?如果用户关闭GPS,是否会尝试使用3G/wifi信号获取位置


如果是的话,你能告诉我该读些什么吗?也许是一些教程和文章?

是的,这是可能的。你需要在App上本地存储一些“位置”(坐标或地址)。可通过以下方式检查是否接近存储的“位置”


勾选此项,与您的非常类似,当应用程序被终止时,您会收到哪些位置更新

但在后台时,您可以根据距离和时间设置位置更新

检查


至于GPS与3g/wifi,用户可以允许或不允许为应用程序提供定位服务。然后,iOS将处理是否使用GPS或手机信号来确定位置。阅读有关位置服务的重大更改。使用重大更改服务将使用比GPS锁更多的单元位置来确定位置,反之亦然,用于标准位置服务。另外,还可以查看定位精度,以了解有关节约电池的更多信息。

这确实是可能的。您可以使用在本文中概述的上述技术。您可以通过使用CLLocationManager::startMonitoringSignificantLocationChanges来扩展此功能,以在应用程序被终止后重新启动侦听位置的过程。根据您的准确度需要,可以对电池寿命进行许多其他优化,如在用户加速时更频繁地检查等


我已经为您开发了一个可以处理这些细节的应用程序(适用于Android和iOS)。下载包括一个示例应用程序,演示如何使用它。请随意查看。

对于您的问题来说可能已经太晚了,但是对于其他需要它的人来说。地理围栏是一个不错的选择

下面是一段视频,解释什么是地理围栏

如果你使用的是爱奥尼亚平台,这里是该插件的链接

地理围栏将完全解决您的问题。只需在这些旅游景点创建一组地理围栏,当用户进入这些地点的特定半径内时,用户将收到通知


祝你好运

但是当应用程序被终止时(不是在后台)是否可以检查这一点。它会消耗多少电池?如果用户关闭GPS,它会尝试使用3G/wifi信号获取位置吗?但同样,如何构建报警应用程序?即使应用程序被终止,如果时间是预定义的时间,本地推送也会被触发,对吗?我想也许你也可以用gps做这样的smth。