Я играл с новыми iBeacons в iOS 7. У меня есть одно устройство, настроенное как маяк, а другое устройство определяет, когда я рядом, далеко, непосредственно и т. д. Я хотел бы очень быстро знать, когда я пересечь эти диапазоны. Есть ли способ настроить задержку? Я обнаружил, что мне нужно перемещать свое устройство очень медленно, иначе я не узнаю, когда переступлю эти пороги.
Диапазон задержки iBeacon
Ответы (1)
Нет, вы не сможете настроить задержку маяка. Как говорит Apple в Руководство по мониторингу регионов:
Чтобы предотвратить ложные уведомления, iOS не доставляет уведомления региона, пока не будут выполнены определенные пороговые условия. В частности, местоположение пользователя должно пересечь границу региона и отойти от этой границы на минимальное расстояние и оставаться на этом минимальном расстоянии не менее 20 секунд, прежде чем будут сообщены уведомления.
Apple не определяет, что такое задержка, кажется, что она недостаточно быстрая для вашего приложения.
У вас может быть компромисс — реализовать ранжирование маяка самостоятельно с помощью Core Bluetooth и прослушивать рекламные события CBPeripheral во время сканирования и ранжирования с помощью RSSI:
centralManager:didDiscoverPeripheral:advertisementData:RSSI:
Если вы используете собственный маяк, например образ виртуальной машины RadiusNetworks VirtualiBeacon, вы можете настроить частоту показа рекламы. С другой стороны, ваше приложение должно работать на переднем плане, в отличие от CoreLocation, доставляющего события маяка, даже когда ваше приложение не запущено.