I have a mall with more than 20 beacons , so i can’t set Region id for each beacon.
So I set one region Id for all the beacons for this store , when user Enter Region I start ranging to get current beacon he enter and from major and minor I got the “Welcome message” from local database and fire notification with this message. da same when user Exit from this region. and when user leave the range I send to our servers visit event with start and end time.
But what if this store was wide with big space , user can go deep in the store and leave the beacon range and this will send visit event to our servers and goodbye msg. but user still inside the store.
one of the solution I found is use many beacons for this store with overlapping so he will not Exit until he leave the store.
But in this case I can;t get current beacon info for sighting in range because ranging method run only for 3sec in background when app closed.“I start ranging In EnterRegion delegate”.
Myself, I usually recommend to use regular, CLCircularRegion geofence for the exit message. This way, even if the user goes out of range of a beacon while still being inside the mall/venue, it won’t trigger a false goodbye.
You might need to test the granularity/responsiveness of CLCircularRegion geofence, though. Apple states in their docs that the minimum distance you have to move away to trigger an exit is 200 meters, and the events come within 3-5 minutes, “if not sooner.” Most venues/malls have a lot of WiFi networks these days, so thanks to WiFi-based location I suppose that regular geofence should actually be quite accurate and responsive.
It’s interesting how, in a scenario like that, beacons guarantee no false “enter” events (because they’re super granular, you actually need to enter a venue) vs regular geofencing (where most likely it’d be enough to be in the neighborhood for an “enter” to trigger). But for “exit” events, it’s the opposite—beacons can yield a false “exit” if you find a spot in the venue not covered by their signal, vs regular geofencing which will likely get it right (because you actually need to leave the neighborhood).
Great idea but 3-5 min it is long time , and 200 meters not good for me.
I have the following idea , and I hope u tell me if there is something wrong .
I’m gonna use two beacon with deferent region id and with overlapping between these two when user enter first one range he will get hello msg , and when he go deep inside the store he will enter the second beacon range before he exit first one. this will let me that the user left the beacon range to go inside the store.
da same when user left the store if the user left the store from 2nd one to first one. this will guaranty that the user left the store