This will be the most abused endpoint. Every X minutes, whether it is in the foreground or background, the app will grab the user’s location and query this endpoint for all bands within the user-specified radius. We’ll begin testing at 10 minute intervals and tweak if need be for the right balance of battery life and accuracy. The app will then use the locations returned to set up iOS-monitored geofences which will be in charge of triggering if the user passes through any of them. iOS only allows 20 geofences at a time, so it will update this list of 20 after each query. This approach has the added bonus of not forcing the server to do the heavy lifting of monitoring user and artist locations to trigger appropriate push notifications (and thus we can also skip implementing APNS for v1).
This will be the most abused endpoint. Every X minutes, whether it is in the foreground or background, the app will grab the user’s location and query this endpoint for all bands within the user-specified radius. We’ll begin testing at 10 minute intervals and tweak if need be for the right balance of battery life and accuracy. The app will then use the locations returned to set up iOS-monitored geofences which will be in charge of triggering if the user passes through any of them. iOS only allows 20 geofences at a time, so it will update this list of 20 after each query. This approach has the added bonus of not forcing the server to do the heavy lifting of monitoring user and artist locations to trigger appropriate push notifications (and thus we can also skip implementing APNS for v1).