在用户进入或离开感兴趣的区域时提供贴合其需求的体验
![](https://developers.google.cn/static/location-context/images/geofencing_landing.png?authuser=0000&%3Bhl=el&hl=el)
有时,当用户位于特定位置(例如机场或超市)时,他们希望使用特定的应用。不过,用户必须转到该应用,然后在他们感兴趣的区域附近时执行特定操作。
借助 Geofencing API,您可以定义边界,这些边界也称为地理围栏,环绕着感兴趣的区域。您的应用会在设备穿过地理围栏时收到通知,这样,当用户位于附近时,您就可以提供实用的体验。
例如,当航班预订时间接近登机时间时,航空公司应用可以定义机场周围的地理围栏。当设备穿过地理围栏时,应用可以发送通知,将用户带到允许他们获取登机牌的 activity。
Geofencing API 会智能地使用设备传感器,以省电的方式准确检测设备的位置。
在用户触发地理围栏时收到通知
轻松创建并开始监控地理围栏
您可以通过设置每个地理围栏的纬度、经度、半径、持续时间和过渡类型来创建地理围栏对象列表。过渡类型用于指示触发地理围栏的事件,例如用户进入或离开地理围栏时。
有了地理围栏列表后,您就可以将其添加到地理围栏请求中。开始监控地理围栏时,请将请求连同 PendingIntent
对象一起添加到地理围栏客户端,以告知 API 如何将地理围栏事件传递给您的应用。
在用户触发地理围栏时执行操作
Geofencing API 会将事件传递给应用中的 IntentService
,这样就无需在后台运行服务来实现地理围栏。仅当存在相关信息时,系统才会调用该服务。
您的服务会从 Intent
收到地理围栏事件,包括触发的地理围栏列表。您可以自行指定逻辑以决定要执行的操作。