Challenge
There are a lot of manufacturers of Android devices, and that’s why the Bluetooth behavior is different with each of them. Sometimes the connection between the Android smartphone and PREE device is established from the seventh attempt. It takes a lot of customer time.
Solution
We made the decision – to keep scanning the BLE devices and try to reconnect after every unsuccessful connection. Also, we implemented the scanning and connecting to operate in background mode. It leads to a power consumption increase, but it seems that right now, we have found a golden means for the Android platform – between strong connections, reliable data, and acceptable energy consumption.
Challenge
On the iOS platform connecting to BLE works out better than on the Android platform (iBeacon is developed by Apple). In iOS, the leading app flow is implemented through scanning PREE devices and trying to connect to them. It works fast and is reliable. The price of that Bluetooth functionality is more power-consuming. Also, in iOS, it’s not easy for Bluetooth to scan in background mode. Firstly to upload it to the app store, you have to explain to them why you need it. Secondly, the scanning in background mode leads to an increase in the power consumption of the iPhone.
Solution
That’s why we decided to avoid using BLE scanning in background mode on the iOS platform. The Bluetooth connection works reliably. It allows reading information from the PREE device and Bluetooth periphery, helping calculate the approximated distance.