startPositionUpdates, startPositioning functions

I’m building both iOS and Android app for indoor location.
I want to log every time it calculates the user’s position,
so when the user is inside the location then log the position,
and if the user is outside the location then log that the user is outside.

Even though I was able to log whenever the user is inside the location,
I failed to do so when the user is outside.
Right now I’ve placed the logging function inside
func backgroundIndoorLocationManager(_ locationManager: EILBackgroundIndoorLocationManager, didFailToUpdatePositionWithError error: Error) for iOS
override fun onPositionOutsideLocation() for Android
But this two functions are being called only for the first time the user is outside the location.

Why is that so? Is there any function that is appropriate to place the logging code in order to work as I want?

Also, the time interval for updating the position seems to be different. (I’m using the example code given in the github)
For Android, it will update every 1second
and for iOS, when I want to make it run in the background, it will be updated every 5 seconds.
Is there any way to shorten the interval to make it the same?