Geofence limits
Phones can only watch a limited number of geofences at once. Bubbl gives each phone the nearest ones that matter to it.
iOS lets an app monitor 20 regions at a time, and Android 100. Those limits cover every geofence from every campaign together, so a busy area can hold more geofences than a phone can watch.
How Bubbl picks#
When your app asks for geofences, Bubbl sends the locations near the phone that belong to running geo campaigns and that have a notification for entering or leaving. It leaves out campaigns whose segments don't include the device, and sends them nearest first, at most 50. The app fetches them again as the phone moves.
On Android, the SDK watches everything the server sends: up to 50 geofences plus one refresh region, within Android's 100-per-app limit, so it has room to spare. On iOS, the OS's 20-region limit is shared with your own app and any other SDK it carries, so Bubbl only gets what's left. It keeps the geofences nearest to the phone (by their edge, not their centre) and drops the rest, then adds one refresh region so the app is told when it's worth asking again — Bubbl never claims more than 19 of the 20, always leaving at least one region free.
Plan around it#
- Keep geofences in one area to a sensible number, especially where several campaigns overlap.
- Use one location per real place, and reuse it across campaigns, rather than drawing the same place twice.
- Avoid geofences that overlap closely: a phone inside two at once may fire both.