Связывание прогрессивного веб-приложения с маяком для запуска события

Я пытаюсь создать прогрессивное веб-приложение, в котором я буду использовать маяки для передачи URL-адреса eddystone. Как только телефоны поймают URL-адрес Eddystone и нажмут на уведомление (используя физическую сеть), он откроет прогрессивное веб-приложение. Мой вопрос заключается в том, есть ли способ интегрировать веб-приложение с маяками таким образом, чтобы, когда телефон попадает в зону действия определенного маяка, он запускал событие, специфичное для этого. Например: если я иду в парк и на скамейке есть маяк, PWA должен знать о маяке на этой скамейке, и, соответственно, должны запускаться действия. Спасибо.


person Divye Shah    schedule 10.06.2017    source источник


Ответы (2)


Просто настройте для каждого маяка уникальный суффикс URL-адреса, который соответствует месту, где они установлены. Если ваше веб-приложение находится по адресу:

http://mywebapp.com/path

Тогда URL-адрес, настроенный для маяка на скамейке в парке, может быть таким:

http://mywebapp.com/path?beacon_id=park_bench

Возможно, вам придется использовать службу сокращения URL-адресов, чтобы сделать такие URL-адреса достаточно маленькими для Eddystone-URL.

Вам также нужно будет создать свое веб-приложение, чтобы определить, какой суффикс URL-адреса запустил его, и предпринять соответствующие действия.

person davidgyoung    schedule 10.06.2017
comment
рассмотрим ресторан, что, если уже открытое PWA, использующее физическую сеть, должно идентифицировать стол в соответствии с маяком, прикрепленным к столу, передающему сигнал. Я нашел requestdevice и requestLEScan, но они помогли в сопряжении, не отображая событие уведомления/контента/триггера. - person Divye Shah; 10.06.2017
comment
Будьте осторожны, чтобы изучить ограничения Eddystone-URL с веб-приложениями, прежде чем заходить слишком далеко. Не существует API-интерфейсов для сканирования устройств Bluetooth LE, которые можно было бы запустить внутри контейнера веб-браузера на мобильном устройстве. По состоянию на июнь 2017 года для этого у вас должно быть собственное приложение для Android. Более новые версии Chrome для Android и Google Play Services (Nearby) могут отправлять уведомления при обнаружении маяков Eddystone-URL, и нажатие на них запускает веб-приложение на основе браузера. Это тип решения, которое я описал в своем ответе. - person davidgyoung; 12.06.2017

Маяки Eddystone-URL могли только передавать URL. Мобильное устройство обнаруживает эти сигналы только тогда, когда пользователь проводит пальцем вниз по панели уведомлений. Когда пользователь нажимает на него, это единственный раз, когда он попадает на сайт (обратите внимание на ключевое слово: взяты). Соединение между мобильным устройством и маяком отсутствует, если только вы не создадите серверную службу, которая соединяет сайт и мобильное устройство через сервис-воркеров.

PWA — это не приложение, а веб-сайт, использующий современные веб-технологии (если поддерживается браузером). Уведомления являются пассивными уведомлениями, что означает, что пользователи заметят их только в том случае, если они им нужны. Он не будет вибрировать и издавать слышимый звук, когда вы находитесь рядом с ним, если вы не создадите для этого приложение. Вот почему они придумали этот метод, потому что уведомления приложений уже были навязчивыми.

person oninross    schedule 22.06.2017