Использование Vicinity x iBeacons для трансляции и получения уникального идентификатора от BG

Несколько лет назад у меня возникла идея сделать что-то похожее на iBeacons от Apple, что позволило бы моему приложению сканировать и получать от bg, чтобы найти другие устройства для проекта, над которым я работаю. Когда я услышал об iBeacons, я был в восторге, но это было недолгим, когда я услышал об его ограничениях, а затем я наткнулся на этот проект на Github: https://github.com/Instrument/Vicinity

Которые мы смогли транслировать и получать одновременно, но у нас были проблемы с получением какого-либо уникального идентификатора, когда телефон находится в спящем режиме, но он продолжает принимать маяки других устройств, используя наш UUID, и находит более 1 устройство даже из бг так должен же где-то быть уникальный идентификатор да?

Если нет, есть ли способ самостоятельно проанализировать пакет и найти какой-то уникальный идентификатор?


person ChuckKelly    schedule 11.01.2014    source источник


Ответы (1)


iBeacons имеют специальную поддержку системы. Они используют UUID, независимый от обычного периферийного UUID для служб BLE.

Диспетчер местоположений прослушивает маяки, которые вы просили отслеживать, даже когда ваше приложение находится в фоновом режиме и даже когда ваше приложение было завершено из-за нехватки памяти. Если он обнаружит изменение состояния маяка, о котором вы просили получать уведомления, он при необходимости повторно запустит ваше приложение и отправит вам уведомление в фоновом режиме. У вас есть несколько секунд, чтобы что-то с этим сделать, прежде чем ваше приложение снова заснет.

Вы не можете отправлять сигналы маяка из фона, используя системную поддержку iBeacon. Я Думаю, что можно передавать рекламу BLE из фона, если вы установили правильные флаги фона в своем info.plist и сделали правильные вызовы для его настройки, но я сам не пробовал. , по крайней мере, пока.

person Duncan C    schedule 12.01.2014