Setting up notifications that trigger based on user location.
Support for location triggered notifications can be achieved in the following ways.
Target By Country
Country is automatically tracked based on the IP Address. Use the
country Data Filter in Segments or API Filters.
Target By Latitude and Longitude
If your Mobile App collects location data, OneSignal will automatically update the latitude and longitude for the device based on the location permission granted by user.
- For iOS location settings, see the Apple Developer Guide for Choosing the Location Authorization Level. Apple requires a description be set in the project's
Info.plistto display the authorization dialog. Set either the NSLocationWhenInUseUsageDescription for requesting authorization only while app is in focus or NSLocationAlwaysUsageDescription for usage at all times.
- For Android location settings, see the Android Developer Guide on Location Permissions.
You can ask for location tracking permission through our Location Opt-In Prompt or use our
promptLocation SDK Method.
Once location is set, messages can be sent based on a radius around the location point using the
location Data Filter in Segments or API Filters.
Web Push Latitude and Longitude Tracking
OneSignal does not automatically collect location points on web push. You can setup your site to prompt users for Location Tracking and add Data Tags to set it within OneSignal. Here is a great Medium Post about this.
If getting and setting the location points with OneSignal
sendTags method, assign
"latitude" tags. For example, you could set
Then you can send a message to users in a segment based on these tags.
For example, define a segment with tags
"long" > 37, "long" < 38, "lat" > -118, "lat" < -117 to create a square target region containing users with location tags in that range.
You can do this manually via the New Messages Page, automatically via the Server REST API, or automatically via the Automated Messages Page.
Target By City or Provided Location
OneSignal does not provide a way to track city or area codes. This data is usually collected in the following ways:
- User inputs a city or location into a field on your site/app.
- Prompt User for Location Tracking on Web and use Google Maps Reverse Geocoding API. Here is a great Medium Post about this.
You can send this data to OneSignal as Data Tags.
We have also partnered with Radar and Plot Projects if you want to integrate with their service.
Target based on a Geofence Trigger
We have also partnered with Radar and Plot Projects if you want to integrate with their services.
Radar is the leading geofencing and location tracking platform. You can use Radar's SDKs and APIs to build a wide range of location-based product and service experiences, including pickup and delivery tracking, location-triggered notifications, location verification, store locators, address autocomplete, and more. For more information about our integration, visit the Radar Docs or contact the Radar team to learn more.
If my app tracks location, how often does OneSignal update this?
Currently OneSignal updates location points around every 5 minute based on the device's location permissions.
Updated 4 months ago