Region monitoring and Airplane mode


I am developing a location dependent feature. The uses case is this:

  • User receives data and notifications based on their location. Location is actually the city/town they reside in more accurately a region based on the city.
  • Then they hop on a plane/train and go to another city. I want to be able to detect that send them local notification to change their location settings and if they accept to start providing them data based on the new location i.e. city. Very important to this part of the usage is the Airplane mode which is usually turned on during the travel and then turned off when the user arrives at their destination.

I thought region monitoring will be the perfect technology for that. However there is no way to find out if the user had gone outside the region when using Airplane mode. There will be nor crossing event and I am unable to request the state for the particular region. Also in that case if the app was terminated the system will not wake it up for crossing event because there is not one.

Is there a way to reliably handle that situation.
I also thought a replacement technology for my use case might be the Visit monitoring.


Although it may be heavier than you would like, you could have your app track significant location changes in the background. This will give your app an opportunity to launch into the background (when the user disables airplane mode for example), and you can check the state of your fences.

You could also look into silent push notifications, but I have not implemented those in conjunction with geofences. There may be some guidelines against using push notifications purely to get the app to launch in the background.

Good luck

I have considered the significant location changes but I do not want to get that much into “heavy” location since that feature is a very minor one.
I started implementing Visit Monitoring and will be doing some test today. I think it might work well for my use case. What is your opinion on the technology?