Максимальное количество UUID / количество маяков в одном приложении? - PullRequest
0 голосов
/ 10 ноября 2018

Я хотел бы создать приложение, которое может общаться с неограниченным количеством маяков. Идея состоит в том, чтобы иметь одно приложение, которое пользователь может использовать в любой точке мира в магазинах-партнерах. Я понимаю, что iOS имеет ограничение в 20 регионов для одного приложения, и каждый регион может регистрировать неограниченное количество маяков. Означает ли ограничение 20, что приложение может одновременно работать только с 20 регионами одновременно, или 20 является абсолютным пределом UUID? Другими словами, я могу зарегистрировать тысячи UUID, и в зависимости от местоположения пользователя одновременно активны только 20? Большое спасибо за вашу помощь.

1 Ответ

0 голосов
/ 10 ноября 2018

В iOS можно зарегистрировать максимум 20 экземпляров CLRegion для мониторинга одновременно. Каждый из этих должен указывать как минимум ProximityUUID, но может оставить основной и вспомогательный нуль, сопоставляя любой из миллиардов маяков с тем же ProximityUUID. Но есть также потенциально много миллиардов различных UUID Proximity, так что это определенно не будет соответствовать всем маякам.

Несмотря на то, что вы не можете зарегистрировать более 20 ProximityUUID для мониторинга одновременно, вы можете изменить те из них, которые зарегистрированы по мере изменения вашего местоположения, как вы предлагаете. Я на самом деле создал веб-сервис под названием Ningo , который позволяет вам получить список известных ProximityUUID, которые были обнаружены ранее на заданном расстоянии от вашего местоположения. Для этого здесь имеется также бесплатный клиентский SDK для клиентской библиотеки с открытым исходным кодом, а также полноценное справочное приложение (включая бесплатный исходный код), которое делает именно это, чтобы вы могли обнаружить практически любой маяк.

Еще одна более простая альтернатива - просто использовать iOS Ranging API. В отличие от API-интерфейсов мониторинга, не существует ограничений на количество экземпляров CLRegion, которые вы можете зарегистрировать для ранжирования, хотя практические ограничения означают, что система действительно замедляется после того, как вы зарегистрируете более 100. API Ranging позволит вам обнаружить любой маяк, если ваше приложение уже запущен, но в отличие от Monitoring API, он не позволит вам разбудить ваше приложение, когда появится маяк. Но опять же, так как телефон замедлится до ползания, если вы попытаетесь зарегистрировать многие тысячи регионов, это не практичный способ обнаружения любого маяка.

...