Geofencing, start to finish (HTML)

[ This article is for Windows 8.x and Windows Phone 8.x developers writing Windows Runtime apps. If you’re developing for Windows 10, see the latest documentation ]

Geofencing allows an app to define a geographical region and have the system alert the app when the device it's running on enters or exits that area.

With geofencing, your app can send a reminder to a user who is leaving work or arriving home. By setting up a series of geofences, you could display coupons whenever the user is near a coffee shop. Using cloud services like Azure Mobile Services, you could also create an app that notifies you when friends are nearby.

To use a geofence in your app, you'll first need to define a Geofence, then set up an event handler to listen for events, and finally, handle those events once they occur.

If you're new to developing Windows Store apps using JavaScript, take a look at Create your first Windows Store app using JavaScript.

Set up your geofences

start icon

You can start by reviewing the geolocation API's. The Detect the user's location topic will show how to get the user's location. The Respond to location updates topic will show how to get location updates.

step icon

Guidelines for geofencingNext you can review some best practices for working with geofences. These can help you make decisions about the design of your app and how you can incorporate geofencing into it.

One important decision will be to decide if your app will handle the geofence events in the foreground while your app is running or if you will set up a background task and then handle the event when the background trigger is fired.

These guidelines can also help you decide on the number and size of the geofences you want to create.

step icon

Set up a geofence

Once you have reviewed the best practices, you can set up one or more geofences. You'll also want to be sure the user has enabled the location permissions, in order to receive any geofence events.

 

Handle geofence notifications

step icon

Handle geofence notifications in the foreground

If you want to process geofence events in the foreground while your app is running, then you can add the event handlers to handle what happens when a geofence is entered, exited, or removed.

step icon

Listen for geofence events in the background

On the other hand, if you want to set up a background task to handle the geofence events, you must follow a number of steps to make sure your app is set up and configured by the user to work in the background.

step icon

Handle geofence notifications from a background task

If you've reviewed the Guidelines for geofencing and decided to set up a background task for your geofences, then you need to handle the events when they are triggered. This code will allow you to alert the user that a geofence event has occurred.

 

Test and debug your geofencing apps

step icon

Test and debug your geofencing apps

Once you have completed your geofencing app, you can use a variety of tools to test and debug it.

 

Want to know more?

Now that you have seen how geofencing works, here is some more info on related topics.

Design and create a Windows Store app UI, start to finish

Learn more about designing Windows Store app UI.

Roadmap for Windows Store apps using JavaScript

Learn more about creating Windows Store apps using JavaScript in general.

Designing UX for apps

Learn more about designing great user experiences.

Display your location using Bing Maps

Learn how to detect the user's current location and display it on a map.

Guidelines for location-aware apps

Learn about some best practice for your location-aware app.