https://news.ycombinator.com/item?id=22704138
I’ll go on a limb and say that apps don’t even have to integrate Placer’s sdk directly. If an app uses any monetization/tracking/ad tracking system, that tracking vendor may collect the geo data and then re-sell it to Placer (i.e. talk to Placer via a server to server API to let them know about the end user)
2) Wifi networks.
On iOS, I'm almost sure that apps cannot access the list of wifi networks that the device sees. As you may know, the list of wifi access point MAC addresses can be used to triangulate a device's geolocation (there was a related case with Google Streets View cars gobbling up that info[0])
On Android, wifi network MAC addresses may be available to apps? Is there a special permission that apps need from the user?
[0] https://www.wired.com/2012/05/google-wifi-fcc-investigation/
However, I believe connected WiFi information can be obtained on Android without location services enabled.
On iOS, I believe an app needs special permission even to fetch connected WiFi, and I believe you are correct that there is no way to access ambient WiFi scans.
Correct, you need the "Access network state" permission (renamed to a more sensible "View network connections" in more recent versions of Android).
However, to my knowledge neither the play store or Android system warn/ask you about this permission so to avoid it you have to explicitly check every app you install.
I suppose I'm not familiar enough with Bluetooth - I figured phones with Bluetooth enabled are constantly sending out some kind of "hello" beacon.
You're correct in that it could be reversed and the BLE radios in the store could track the phones instead, but then they'd need far more intelligence and network connectivity, which would make them more expensive and in turn they'd be fewer of them deployed.
Source: spent the last few years writing code for wireless devices, including BLE beacons.