Industry

If you're only geofencing in the background, you're missing out

When you think about geofencing in consumer apps, you probably think about background push use cases first. For example:

  • a shopping app knows when I arrive at a store, and sends me a push notification with an offer
  • a travel app knows when I arrive at an airport, and sends me a push notification with my boarding pass
  • a restaurant review app knows when I arrive in a new neighborhood, and sends me a push notification with a restaurant recommendation nearby
  • a ticketing app knows when I arrive at an event, and sends me a push notification with my e-ticket

However, geofencing can also be used for foreground pull use cases. For example:

  • a shopping app knows when I'm at a store, and shows me offers and information about that store as soon as I open the app
  • a travel app knows when I'm at an airport, and shows me my boarding pass and flight status information for that airport as soon as I open the app
  • a restaurant review app knows when I'm in a new neighborhood, and shows me a a list of restaurant recommendations for that neighborhood as soon as I open the app
  • a ticketing app knows when I'm at an event, and shows me my e-ticket and information about the event as soon as I open the app

Done well, geofencing can increase user engagement, not only by pushing contextual information to users in the background, but also by pulling contextual information for users in the foreground, no tapping or searching required.

If you're only geofencing in the background, you're missing out. Unfortunately, native iOS and Android geofencing capabilities are event-driven and work naturally only for background use cases, making foreground use cases difficult to build.

We want to change that. The Radar iOS SDK and Radar Android SDK make geofencing work as naturally in the foreground as in the background. Radar also offers an API and dashboard that make it easy to create and manage geofences, and supports advanced features like stop detection, building-level accuracy, and unlimited circular or polygonal geofences.

func applicationWillEnterForeground() {
    Radar.trackOnce(completionHandler: { (status: RadarStatus,
                                          location: CLLocation?,
                                          events: [RadarEvent]?,
                                          user: RadarUser?) in
        // do something with user.geofences
    })
}

If you'd like to learn more, visit our website, read our documentation, and sign up or contact sales. We can't wait to see what you'll build.