$(document).ready(function() {
t341_showCaptions('6148978');
t341_checkSize('6148978');
$("#t-carousel6148978 .t-carousel__slides").swipe( {
swipeLeft:function(event, direction, distance, duration) {
$(this).parent().carousel('next');
},
swipeRight: function(event, direction, distance, duration) {
$(this).parent().carousel('prev');
},
threshold: 50,
preventDefaultEvents: false,
allowPageScroll: "none"
});
});
$(window).resize(function() {
t341_checkSize('6148978');
});
Для работы с маячками компания Google разработала отдельную платформу, в которую входит стандарт Eddystone, система управления Beacon Dashboard [14], Google Proximity Beacon API [15] и Nearby Messages API [16].
Сейчас в мире можно выделить три наиболее популярных стандарта маячков:
Различаются стандарты в основном форматами кадров (advertisment packet) и их количеством. Большинство устройств сейчас умеет транслировать сообщения в любой из этих трех спецификаций, а некоторые даже одновременно в нескольких.
Eddystone, также как и iBeacon от Apple или AltBeacon от Radius Network, дает разработчикам возможность поставлять информацию, связанную с местоположением, прямо на мобильные устройства пользователей (также, как и другие устройства,
Название Eddystone произошло от известного маяка Eddystone Lighthouse, который располагается в Ла-Манше.
В данном случае в Лаборатории [20] нас больше интересует Eddystone [17] - открытый (по лицензии Apache 2.0) формат сообщений для Bluetooth Low Energy (BLE) маячков от Google. На данный момент он поддерживает 5 видов пакетов (advertisment packet):
p {
font-size: 16px;
}
p.dline {
line-height: 1.5;
}
-
Eddystone-UID — 16-байтовый идентификатор, который состоит из 10-байт namespaceId и 6-байт instanceId.
-
Eddystone-URL — транслирует URL. Любой длинный URL можно сократить с помощью Google URL Shortener или любого другого сервиса сокращения ссылок, что бы поместится в ограниченный 18 байтами Advertisment packet. После декодирования, URL может быть использован любым клиентом с доступом к интернету. Eddystone-URL является основой Physical Web (о котором речь пойдет дальше) и позволяет легко обнаруживать и взаимодействовать с окружающим нас умными устройствами и сервисами.
-
Eddystone-TLM — телеметрия, доступны такие данные как напряжение аккумуляторной батареи, температура устройства, количество отправленных пакетов с момента включения и время с момента включения.
-
Eddystone-eTLM - зашифрованная версия кадра телеметрии.
Маячок с поддержкой Eddystone-EID меняет свой 8-байтный AES-encrypted идентификатор псевдо-случайным образом со средним периодом, который задается разработчиком в диапазоне от 1 секунды до 9 часов. Для генерации идентификатора используется ключ (Ephemeral Identity Key или EIK) и таймер на самом маячке. Ключ генерируется во время подготовки и настройки маячка и затем передаётся в службу разрешения, например, Proximity Beacon API, (о котором речь пойдет позже)
Так же был представлен и Eddystone GATT service [22] - новый стандартный интерфейс для конфигурирования маячков.
Почему возникла потребность в дополнительных мерах безопасности? Очевидно, что незащищенные сигналы маячков легко клонировать и отслеживать. Таким образом злоумышленник мог легко скомпрометировать какой то сервис или специальную акцию.
Для комплексной работы с маячками компания Google разработала ряд отдельных и независимых решений, которые объединила в платформу под названием Google's beacon platform. В неё входят стандарт Eddystone, система мониторинга и управления Beacon Dashboard [14], а так же API для взаимодействия с маячками, такие как Google Proximity Beacon API [15] и Nearby Messages A [16]PI и Places API.
Как мы уже сказали, в платформу входит два программных интерфейса - Nearby Messages A [16]PI для Android и iOS, управляющий сканированием устройств в приложениях, и Google Proximity Beacon API [15], для управления маячками через облачную инфраструктуру. Первый API работает для получения информации, а второй для управления маячками:
Для этого мы можем использовать Proximity beacon API, Beacon Dashboard или специальное приложение Beacon Tools(Android [23], iOS [24]). В рамках же Google Beacon Platform регистрировать можно только маячки с поддержкой Eddystone. После этого мы можем привязывать к маячку, а точнее его идентификатору какие то данные, так называемые Attachments. Beacon Dashbord позволяет нам не только регистрировать маячки, но и легко мониторить их и управлять вложениями через удобный интерфейс. После этого мы можем взаимодействовать с маячками с пользовательских устройств по средствам Nearby Messages API или Places API. Вы спросите при чём тут Places API - так вот этот интерфейс позволяет к маячкам в виде метаданных привязывать Place ID.
Для управления маячками вы можете использовать фирменные приложения Google для Android [23] и iOS [24], а также приложения производителей, как это сделано описано ниже. Также на I/O 2016 года компания Google представила облачную систему управления маячками Beacon Dashboard [14], с помощью которой вы можете управлять маячками (например, описывать заведения, где они установлены, менять сообщения) и просматривать информацию об их работе.
- Отправка сообщений и уведомлений на устройство пользователя
- Отправка ссылок на устройство через Physical Web
- Интеграция с сервисами для более точной геолокации (например, Places API [25])
Более подробно работу с маячками в приложении на Хабре рассмотрел Звиад Кардава в "Google's beacon platform" в двух [26] частях [27].
Кратко перечислим, что вам понадобится.
- Конфигурируете приложения:
- build.gradle [28]
- manifest [28]
2. Создаёте GoogleApiClient [29]
3. Nearby Messages это publish-subscribe API, соответственно вам надо подписать приложение на получение уведомлений. Делается это либо в активном режиме, по запросу пользователя или событию, либо в бэкграунде, когда приложение непрерывно сканирует поступающие уведомления. Nearby Messages API требует разрешения пользователя на запросы publish() и subscribe(). Поэтому приложение должно проверять на что пользователь уже дал свое согласие и если такое отсутствует, то вызывать диалог запроса разрешений.
3.1 В активном режиме после создания GoogleApiClient и запроса разрешения у пользователя вы можете делать subscribe() [30] с помощью вот такого кода [31].
3.2 В фоновом режиме код отличается [32].
4. Получаете сообщения через handleIntent [32].
5. Парсите его содержимое [32]. Получение аттачмента от маячка также никаких проблем вызвать не должно. Аттачмент его это blob формата Namespace (идентификатор), Type (тип данных) и Data (собственно, сами данные).
6. Не забудьте сделать unsubscribe() [33].
Необходимо помнить, что пока вы не выключите сканирование, оно происходит даже в фоновом режиме работы приложения, то есть даже если приложение в настоящий момент неактивно, а значит на него тратится энергия. И хотя фоновое сканирование потребляет меньше энергии, чем явное, батарейку все равно оно использует, а также оно менее надежное и задержки в нем больше. Когда подписка вам больше не нужна, вы можете отключить ее при помощи метода Nearby.Messages.unsubscribe [34].
Все примеры вы можете найти в документации на официальном сайте: https://developers.google.com/nearby/messages/android/
td {
font-size: 16px;
}
Объекты Physical Web помечаются иконками | , в том числе и уведомления в Android. |
В этом главное отличие Physical Web - Eddystone-URL практически не нужно специальное приложение для приема информации и дальнейших действий. Bluetooth-сигнал получается Chrome или любым другим совместимым приложением, которое в случае Android уже предустановлено на устройстве, а в случае iOS скорее всего на нем присутствует.
iBKS 105 от Accent System - первый маячок, официально совместимый с iBeacon и Eddystone (поддерживает кадры UID, URL, TLM, EID).
Это зависит от нескольких факторов:
1. От типа используемой батарейки.
2. От частоты рассылки сигнала (меняется в настройках).
3. От силы с которой транслирует маячок.
4. От количества и типов транслируемых пакетов.
5. От физических условий, в частности температуры.
В среднем можно рассчитывать на работу маячка в нормальном режиме не менее полутора лет. Для Eddystone есть специальный телеметрический сигнал Eddystone-TLM, в котором можно получить данные по напряжению аккумуляторной батареи. Для iBKS 105, например, официальное время жизни при трансляции одного сигнала в секунду - 30-40 месяцев.
Какова дальность распространения сигнала маячка?
Это, в свою очередь, также зависит от ряда факторов:
1. Настроек мощности передатчика (у BKON, например, 8 уровней мощности).
2. Физической среды.
Очевидно, что стены, например, уменьшают дальность обнаружения сигнала, но в целом при максимальной мощности дальность обнаружения в среднем составляет 120 метров (например, для BKON A1 дальность при максимальной мощности - 100 метров), при минимальном - 5 метров.
У скольких пользователей включен Bluetooth?
Данные сильно разнятся по платформам и странам, но можно ориентироваться на следующую цифру - в США у 45% пользователей Bluetooth включен. Чем моложе аудитория, тем больше этот процент.
$(document).ready(function() {
t341_showCaptions('6152631');
t341_checkSize('6152631');
$("#t-carousel6152631 .t-carousel__slides").swipe( {
swipeLeft:function(event, direction, distance, duration) {
$(this).parent().carousel('next');
},
swipeRight: function(event, direction, distance, duration) {
$(this).parent().carousel('prev');
},
threshold: 50,
preventDefaultEvents: false,
allowPageScroll: "none"
});
});
$(window).resize(function() {
t341_checkSize('6152631');
});
p {
font-size: 16px;
}
ol {
font-size: 16px;
}
p.dline {
line-height: 1.5;
}
-
Скачивайте приложение iBKS Config Tool [35] для Android [36] или iOS. [37]
-
Не забудьте включить Bluetooth.
-
Нажмите кнопку SCAN в верхнем правом углу.
-
Приложение покажет вам все доступные в округе маяки.
-
Для конфигурирования вам надо, чтобы iBKS находился в режиме подключения. В этом режиме он работает в течение 30 секунд с момента подачи питания или все время, если он сконфигурирован на это (Так называемый Developer Mode - маячок постоянно может менять свои параметры как раз для удобства разработчика, чтобы не приходилось вынимать батарейку каждый раз. Developer Mode для маячка можно задать в приложении).
-
Для реализации первого вам надо вынуть батарейку и вставить ее снова и в течение 30 секунд подключиться к маяку.
-
Доступ к батарейке вы можете получить повернув две части iBKS относительно друг друга.
-
Пока маяк в режиме отладки подключитесь к нему из приложения и переведите в режим отладки. После этого режим конфигурирования будет доступен всегда.
Как проверить, что он работает: вам нужен браузер, работающий с Physical Web. Естественно, лучшим примером тут может работать Google Chrome (или любой другой браузер на основе Chromium 49+, как мы писали выше - та же Opera). В Android он включен по умолчанию, а в iOS вам надо установить браузер или приложение и вывести его виджет на панель уведомлений, чтобы он показывал страницы существующих вокруг вас предметов.
Для конфигурирования BKON вам понадобиться аккаунт на сайте https://my.phy.net/ [38]. Введя номер маячка и адрес своей почты, вы получите доступ к облачному сервису, через который сможете задать название и целевую ссылку для маячка.
$(document).ready(function() {
t341_showCaptions('6152689');
t341_checkSize('6152689');
$("#t-carousel6152689 .t-carousel__slides").swipe( {
swipeLeft:function(event, direction, distance, duration) {
$(this).parent().carousel('next');
},
swipeRight: function(event, direction, distance, duration) {
$(this).parent().carousel('prev');
},
threshold: 50,
preventDefaultEvents: false,
allowPageScroll: "none"
});
});
$(window).resize(function() {
t341_checkSize('6152689');
});
Учитывая перспективность данной инновации, не исключено, что такая система будет использована также и в других продуктах Samsonite – мобильных офисах и дорожных сумках – уже в 2017 году.
p {
font-size: 16px;
}
p.dline {
line-height: 1.5;
}
-
Самый большой кейс в России - аэропорт Шереметьево выпустил [39] мобильное приложение, поддерживающее систему внутренней навигации и позволяющее определить местонахождение пассажира в пределах аэровокзального комплекса Шереметьево и проложить оптимальный маршрут до пункта назначения в аэропорту. Мобильное приложение работает с помощью установленных маячков, число которых постоянно увеличивается. Благодаря этой технологии межэтажный и межтерминальный маршрут строится с учетом инфраструктуры аэропорта.
-
K11 [40] в Гонконге использует Eddystone-EID маячки в качестве путеводителей в музеях и магазинах.
-
Monumental Sports [41] используют маячки для доставки таргетированных наград посетителям спортивных игр.
-
Carrefour использовала маячки в своих розничных магазинах - в связке с приложением они приветствовали покупаетелей, предлагали купоны и продукты, основываясь на истории покупок конкретного человека. Загрузки приложения увеличилось на 600%, а время, проведенное в нем на 400%.
— С Physical Web вообще не нужны приложения как таковые, а с приложениями особых проблем нет - разве что неготовность рынка к их внедрению. Бизнес не понимает нюансов, деталей, перспектив. Пока не будет бизнеса и пользователи не подтянутся, потому что именно компании являются движущей силой на рынке. Это просто инструмент. Один из инструментов.
Ограничений сейчас два - бизнес и Bluetooth. Но это внешние по отношению к разработке проблемы.
— Какие инструменты вы используете для разработки?
— Всё стандартное, маячки настраиваются через стандартные приложения, разработка в Android Studio идет. Ничего другого здесь быть не может - стандарт открыт, есть готовые вызовы. Если вы используете маячки нативно (а возможно использование SDK производителей - многие выпускают свои наборы для разработки), то никаких проблем нет. Читаете документацию, пробуете, делаете.
Разработка даже на уровне инфраструктуры открыта - сейчас мы, например, развертываем в Москве и Санкт-Петербурге большую инфраструктуру из тысяч маячков и дальше сможем давать к ней доступ. Например, приложения Афиша может к ней подключиться и взаимодействовать с ней определяя локацию, о которой они узнали из журнала. Соответственно, для Афиши это еще одно направление монетизации.
— Что ограничивает на уровне компаний использование маячков?
— Неготовность менеджемента, другие насущные дела, не у многих вообще есть свои приложения. Само проникновение приложений в России невысокое. Сначала должна прийти культура потребления приложений, а потом уже и культура потребления маячков. Возьмите какую-либо крупную торговую компанию - наверняка у него нет своего приложения.
https://developers.google.com/beacons/ [43]
Proximity Beacon API [15]
Nearby Messages API [16]
Примеры на GitHub [44]
Places API [45]
Мастер-класс с последнего I/O по работе с маячками:
https://www.youtube.com/watch?v=3nYyApSiSLQ [46]
Работа с Eddystone в Cordova при помощи JavaScript. В данном случае используется специальный плагин поверх Cordova BLE [47] и примерно те же процедуры сканирования и получения сообщений, что и в большой Java. :
https://www.hackster.io/evo/detecting-eddystone-beacons-in-javascript-made-easy-fd6124 [48]
Комментарии (0)