Как библиотека Android Beacon с открытым исходным кодом, так и Google Proximity Beacon API позволяют приложениям Android обнаруживать маяки, совместимые с Eddystone.
Android Beacon Library — это API только для клиента. Это полностью бесплатное приложение, на которое распространяется лицензия с открытым исходным кодом Apache 2 без ограничений по ресурсам. Он не требует какой-либо серверной инфраструктуры и обеспечивает обратные вызовы при обнаружении маяков, а также обратные вызовы по дальности, чтобы сообщить вам приблизительное расстояние, на котором они находятся, когда они продолжают находиться поблизости. Он также может запускать ваше приложение в фоновом режиме при обнаружении маяка. Это хороший выбор, если вам нужно универсальное решение для маяков или гибкий низкоуровневый доступ к обнаружению маяков.
Google API Proximity Beacon, напротив, является высокоуровневым и более специализированный серверный API. Он требует, чтобы маяки были зарегистрированы на серверах Google, и позволяет прикреплять к этим маякам как общедоступные, так и частные метаданные. Связанный с ним Nearby Messages API затем предоставит обратный вызов при обнаружении маяка и сообщит вам данные, которые вы прикрепили к этому маяку. Он предназначен для возврата данных маяков высокого уровня, а не для предоставления низкоуровневого доступа к обнаружениям маяков. Как вы упомянули, существуют некоторые ограничения на количество звонков, которые вы можете сделать. Для этой библиотеки требуется последняя версия сервисов Google Play, которая обычно доступна на новых телефонах в США и Европе, но обычно недоступна в Китае и некоторых других странах.
Что вы выберете, зависит от того, что поможет вам решить ваш вариант использования. Если вам требуются функции облачного хранилища серверного решения и вы можете работать с зависимостями от сервисов Google Play, то это может быть правильным выбором для вас. Если вам нужно более гибкое решение и вам не требуется серверный API, библиотека Android Beacon может вам подойти.
РЕДАКТИРОВАТЬ: здесь следует добавить еще один важный момент: любой API, поддерживаемый сервером, зависит от объекта, поддерживающего эти серверы, чтобы поддерживать работу вашего приложения в будущем. Компании, особенно Google, нередко прекращают предоставление услуг, когда меняются бизнес-приоритеты компании. Рассмотрим длинный список сервисов Google, поддержка которых прекращена, включая поддержку Google Nearby для уведомлений маяка. Если вам нужно, чтобы ваше приложение продолжало работать в течение длительного времени, будьте осторожны, добавляя зависимость от третьей стороны для обеспечения работы сервера. Это создает риск. Поскольку библиотеке Android Beacon Library не требуется сервер, нет риска, что она не будет работать в будущем из-за капризов корпоративных решений. То же самое не относится к API Proximity Beacon.
Полное раскрытие информации: я являюсь ведущим разработчиком библиотеки Android Beacon.
person
davidgyoung
schedule
30.01.2016