8

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

例如,我会在我的应用程序上添加 100 个 POI,并为每个 POI 发送 100 条消息,以显示用户何时在范围内,例如“您靠近大教堂……”

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

如果是的话,您能否指导我正确阅读有关该主题的内容,也许是一些教程和文章?

4

4 回答 4

5

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

我开发了一个来为您处理这些细节(适用于 Android 和 iOS)。下载包含一个示例应用程序,演示如何使用它。随意检查一下。

于 2013-08-14T15:07:15.400 回答
2

是的,这是可能的。您需要在本地应用程序上存储一些“地点”(坐标或地址)。可以通过反向地理编码器检查与存储“地点”的接近程度。

检查这个Wonderful SO Question,与你的非常相似

于 2013-03-20T18:40:13.827 回答
2

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

这是一个解释什么是地理围栏的视频http://academy.pulsatehq.com/7-things-about-geofencing

如果您使用的是 Ionic 平台,这里是插件的链接 https://github.com/cowbell/cordova-plugin-geofence

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

祝你好运

于 2016-05-07T20:59:58.070 回答
0

当应用程序被杀死时,接收位置更新的具体内容是什么?

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

检查如何在我的 iOS 应用程序中每 n 分钟获取一次后台位置更新?

至于 GPS 与 3g/wifi,用户可以允许或不允许应用程序的定位服务。然后,iOS 将处理是否使用 GPS 或手机信号来确定位置。在此处了解重大变化的位置服务。使用显着变化服务将使用比 GPS 锁定更多的小区定位来确定位置,反之亦然,用于标准定位服务。另请查看定位精度以了解有关节省电池的更多信息。

于 2013-03-20T19:03:10.787 回答