Вариант использования для iBeacon - отправьте HTTP-запрос с IDFA телефона
Вот что я пытаюсь сделать:
Пользователь заходит в магазин с установленным маяком. Когда пользователь / телефон находится в пределах X футов от маяка, маяк (или, может быть, телефон?) Запускает HTTP-запрос на сервер, отправляющий IDFA телефона на сервер (то есть отправляет запрос на http://myserver.com/?idfa=1234324234234234).
Возможно ли это с помощью маяков?
1 ответ
Да, это возможно.
Вы можете реализовать это на стороне телефона с библиотекой AltBeacon, здесь у вас есть сайт спецификаций
Вам просто нужно реализовать функцию ранжирования маяков Activity
а затем отправьте http-вызов на ваш сервер с информацией, взятой из найденного / близлежащего маяка.
Здесь у вас есть рабочий пример из того же репозитория AltBeacon.
Это всего лишь исключение, так что вы можете видеть, как легко выбирать радиомаяки.
@Override
public void onBeaconServiceConnect() {
beaconManager.setRangeNotifier(new RangeNotifier() {
@Override
public void didRangeBeaconsInRegion(Collection<Beacon> beacons, Region region) {
if (beacons.size() > 0) {
//EditText editText = (EditText)RangingActivity.this.findViewById(R.id.rangingText);
Beacon firstBeacon = beacons.iterator().next();
logToDisplay("The first beacon " + firstBeacon.toString() + " is about " + firstBeacon.getDistance() + " meters away.");
}
}
});
try {
beaconManager.startRangingBeaconsInRegion(new Region("myRangingUniqueId", null, null, null));
} catch (RemoteException e) { }
}