Окно установки PWA не отображается в браузере - PullRequest
0 голосов
/ 27 сентября 2019

В настоящее время я работаю над PWA в Vaadin14.Моя текущая цель - показать окно установки в браузере, но я просто не могу его получить.

Я пытался использовать https://vaadin.com/pwa/learn/installing-applications в качестве руководства.У меня есть действующий сертификат и я использую HTTPS-соединение для приложения в браузере.Используется следующая аннотация @PWA:

@Route("main") 
@PWA(name = "Test", shortName = "Test", backgroundColor = "#227aef", themeColor = "#227aef") 
public class MainView extends AppLayout implements RouterLayout, BeforeEnterObserver {

Я пробовал это с Chrome и Firefox, оба не показывали окно установки.

Упоминается, что Vaadin создает веб-приложениеManifest и ServiceWorker по своему собственному (https://vaadin.com/docs/v14/flow/pwa/tutorial-pwa-pwa-with-flow.html)

Сервер Vaadin автоматически обслуживает веб-манифест, работника службы, значки, автономную страницу и приглашение на установку, а также добавляет необходимые дополнения в приложениеЗаголовки.

Хотя я не могу найти файлы в любом месте после сборки проекта. Где они хранятся?

Чего мне здесь не хватает?

Редактировать: Firefoxимеет следующую конфигурацию, которую я установил на true.

Работники службы могут быть недоступны, если для параметра dom.serviceWorkers.enable задано значение false в about: config.

Edit2: я мог убедиться, что Firefox не запускает Service-Worker для моего приложения.

1 Ответ

0 голосов
/ 27 сентября 2019

Чтобы отобразить диалоговое окно A2HS (Добавить на главный экран) на мобильном устройстве, у вас должен быть правильно запущенный работающий сервис и файл веб-манифеста.

В случае браузера на настольном компьютере вы должныне вижу всплывающее окно (если только сам vaadin не открывает его для вас, но я не использую эту технологию), но значок (+) в адресной строке браузера (здесь для Chrome):

enter image description here

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

...