I have doubts regarding Beacons & how it initiates the communication with the mobiles. Who initiates the communication first, mobile or beacons?
You can consider this scenario for Monitoring, A notification is displayed in user’s mobile on entering into a beacon region. Who initiates communication first?
There’s no actual communication per se. The beacon just keeps broadcasting its identifier all around it, all the time, and phones can pick this signal up and do something with that. It’s like a lighthouse—it doesn’t “communicate” with any specific ship, it just “broadcasts” light all around it, and nearby ships can see it and navigate based on that.
thank you for clarifying @heypiotr. How does Estimote’s SDK for iOS and Android do Monitoring?
It registers with lower-level iOS/Android iBeacon/Bluetooth APIs to be notified whenever the phone enters/exits range of a given beacon, and then let’s your app handle these events.
Hope you also have knowledge on Evothings Cordova plugin for managing Estimote Beacons. Does that reliable to use? Or going for Estimote’s native SDK for iOS and Android is a better choice?
Their Cordova plugin is pretty solid, probably the best out there (last time I checked). Haven’t been updated in a while, unfortunately. It’s still on iOS SDK 3.3.1 (latest is 3.8.0) and Android SDK 0.6.1 (latest is 0.9.4), and there’s been a lot of improvements in between.
I have a feeling that some features will not work in case if I go for Hybrid Mobile Application using Cordova plugin… I recently did a proof of concept for Beacon Monitoring and Ranging using Peter Metz’s Cordova Plugin https://github.com/petermetz/cordova-plugin-ibeacon which is now supported by Evothings. I found out that Monitoring events ENTER & EXIT is not triggered if the application is not alive. So, Which is better choice for proceed further?
I think that technically monitoring should still work with the app closed, I don’t think there’s anything preventing Cordova from that. It even says so on the page of this cordova-plugin-ibeacon plugin: “Region Monitoring (or geo fencing), works in all app states.”
In general, I have absolutely nothing against hybrid frameworks—Cordova, ReactNative, Xamarin, are all solid software, and have there pros and cons over native.
But speaking of beacons specifically, I believe native solutions are a bit more mature at this point. (Xamarin’s Estimote components developed by Xamarin itself are actually very up-to-date, and lots of folks use them, so that’s probably the best non-native option.)
Thank you so much for enlightening with lot of information. This will help us to choose wisely the technology (native or hybrid) for our use case in the future. Will keep you posted once we start the prototype.
in regards to monitoring even if application close, i’m currently developing a mobile app for android and later apple using phongap, and i read that the function EstimoteBeacons.startMonitoringForRegion() states that it monitors in the background.
I need help on if i have say my bluetooth on but the application is close when i walk near a beacon it detects it and a local message popsup. I can do that only when my application is open. I believe there must be something else besides that function.