Вопросы и типовые проблемы
Сначала откройте страницу «Диагностика» (глава 7): она часто сама указывает причину. Ниже — короткие ответы по реальным сценариям. В каждом: что проверить по порядку и куда идти дальше.
Содержание
- Не появляется установка
- Не приходит Push
- Не обновляется контент
- Диагностика показывает предупреждение
- Не работает на iPhone
- Несколько витрин
- Не сохраняются настройки
- Иконка не меняется на телефоне
- Вёрстка «поехала» после включения предкеша
- Общие вопросы
Не появляется установка
Проверьте по порядку:
- PWA включено. Меню → Установка → Установка: галочка «Активировать PWA»; в плашке вверху: «PWA статус: Активирован» (глава 3).
- Сайт на HTTPS. Без HTTPS (кроме
localhost) браузер не включит Service Worker. - Тема подключена. В шаблоне темы есть оба хелпера (
headиfooter). Для «Магазина» обычно подключается автоматически. Если нет — вставьте код со страницы «Установка» (глава 2, шаг 3). - Иконка, имя и короткое имя заполнены. Без иконки браузер не предложит установку (глава 3).
- Включён способ приглашения (баннер, снэк-бар, поп-ап, кнопка). Кнопка показывается только там, куда вы её вставили.
- Диагностика: карточка «Требования к установке» должна быть не красной (глава 7).
- Баннер уже закрывали? Закрытие запоминается для всего сайта. Откройте витрину в режиме инкогнито или очистите данные сайта.
- Приложение уже установлено на этом устройстве, и браузер больше не предлагает установку.
- Браузер не поддерживает установку (например, Firefox на компьютере) или сайт открыт во встроенном просмотрщике мессенджера. Откройте в Chrome, Edge или Safari (глава 4).
Не помогло — скопируйте отчёт для поддержки.
Не приходит Push
Push работает только в редакции «Премиум» (глава 9). Проверьте:
- Редакция «Премиум» активна, и после её включения вы нажали «Сохранить» в настройках витрины (глава 6). Если на странице «Push-уведомления» написано про «премиум-версию» — лицензия не активна.
- Есть подписчики. В плашке вверху страницы — «Подписалось на push-уведомления». Если 0 — на сайте нет кнопки или виджета подписки (глава 6, шаг 1), либо покупатели не дали разрешение. Рассылка «Отправлено!» при нуле подписчиков никому не уходит.
- Ключи VAPID в порядке. В плашке строка «Push-ключи (VAPID)» — Shared или Legacy, без красного предупреждения. После смены ключа подписчики должны подписаться заново (глава 8).
- Разрешение браузера. Покупатель мог нажать «Блокировать». Разрешение возвращается в настройках сайта в браузере.
- Нужная версия приложения у покупателя. После обновления Service Worker обновляется при следующем визите.
- На iPhone уведомления работают только в приложении, добавленном на экран «Домой» (глава 4). Версия 1.6.2 исправила формат шифрования, из-за которого на iPhone уведомления могли не доходить; на настоящем iPhone это не проверялось.
- «Принято» не значит «показано». Уведомление может не показаться из-за режима «Не беспокоить», экономии заряда или настроек телефона.
- Журнал
wa-log/pwa-push.log. Попросите хостинг или разработчика посмотреть записиsend_failed(там код ответа push-сервиса). Записиexpired_subscriptions_removed— приложение удалило недействительные подписки. - Окружение сервера. Для отправки нужны PHP-расширения
openssl,curl,mbstring,json, и сервер должен иметь исходящий HTTPS. При проблемах с созданием ключей вwa-log/pwa-settings-errors.logбудет запись о сбое; обратитесь к хостингу. - Диагностика: карточки «Push-ключи (VAPID)» и «Push-подписка» (глава 7).
Не обновляется контент
Если покупатели видят старые страницы или картинки:
- Страницы. Для страниц должна стоять стратегия «Сначала сеть»: тогда они свежие, пока есть сеть (глава 5).
- Картинки по старому адресу. При «Сначала кеш» картинка, заменённая под тем же адресом, может оставаться старой до 30 дней. Переключите изображения на Stale-while-revalidate, а картинки загружайте под новым именем (глава 5). Даже при Stale-while-revalidate покупатель один раз может увидеть старую картинку.
- Новая версия приложения ждёт. После изменения PWA покупатель видит предложение обновить. Если нужно подтолкнуть, поменяйте «Версию» на странице «Обновления кеша» (глава 5).
- Диагностика: карточка «Кеширование».
- Свой кеш на сервере. Кеш веб-сервера, CDN и других модулей PWA не очищает.
- Если вы используете предварительное кеширование, поменяйте версию компонента, чтобы он обновился (глава 5).
PWA не очищает кеши в браузерах покупателей принудительно.
Диагностика показывает предупреждение
Предупреждение — не поломка: работает, но есть риск. Прочитайте подсказку «Как исправить» в карточке. Самые частые:
| Предупреждение | Что это |
|---|---|
| Service Worker: «Нет регистрации» (в браузере) | Витрину ещё не открывали в вашем браузере. Откройте витрину и повторите (глава 7) |
| Service Worker: «Не перегенерирован» | Откройте настройки витрины → «Сохранить» |
| Service Worker: «Ожидает» | Закройте все вкладки сайта и откройте снова |
| Кеширование: «Сначала кеш» / «Только кеш» для картинок | Переключите на Stale-while-revalidate |
| Иконки: maskable | Загрузите отдельную maskable-иконку или выключите переключатель |
| Push-подписка: пропущено | Нет «Премиум»: ожидаемо для «Базы» |
Подробный разбор — глава 7.
Не работает на iPhone
- Добавьте магазин на экран «Домой» (Safari → «Поделиться» → «На экран “Домой”») и открывайте его оттуда (глава 4).
- iOS 16.4 или новее нужна для push и для добавления из других браузеров.
- HTTPS обязателен.
- Разрешение на уведомления запрашивайте из установленного приложения, а не из вкладки Safari.
- Если push на iPhone не приходит — посмотрите «Не приходит Push».
- Работа на реальном iPhone разработчиком не проверялась: если встретите отличия, сообщите в поддержку.
Несколько витрин
- Каждая витрина — своё приложение. Настраивайте по очереди (глава 3).
- Страница пишет «Этот раздел использует настройки витрины …». Витрина берёт настройки у другой: править нужно там.
- Мастер настраивает одну витрину за раз.
- Витрина на другом домене: диагностика показывает только серверные проверки; браузерные откройте на домене витрины.
- Push для нескольких витрин. Подписчики хранятся отдельно по витринам; «Отправить» при выбранном «Все витрины» рассылает по каждой.
- Подписки и установленные приложения привязаны к адресу (глава 8).
Не сохраняются настройки
- Сообщение «Invalid settings or save failure»: причина записывается в
wa-log/pwa-settings-errors.log(класс исключения). Одна из частых причин — не создаются ключи шифрования из-за настройки PHP (расширениеopenssl). Обратитесь к хостингу. - Файлы приложения для витрин пишутся в
wa-data/public/pwa(и вwa-cache,wa-log): если веб-сервер не может писать в эти папки, настройки не сохранятся. Попросите хостинг проверить права.
Иконка не меняется на телефоне
Операционная система может хранить иконку установленного приложения. Адрес иконки в Manifest меняется сам, но установленное приложение иконку не всегда обновит. Удалите приложение с устройства и установите заново (глава 3).
Вёрстка «поехала» после включения предкеша
Предварительное кеширование (глава 5) требует «островной» архитектуры сайта. Отключите компонент и сохраните настройки; вернуться к нему стоит с разработчиком сайта.
Общие вопросы
Нужно ли знать PHP? Нет. Фрагмент кода, который вставляется в шаблон темы, копируется кнопкой «Копировать».
Это бесплатно? Нет. Приложение продаётся в Webasyst Store в платных редакциях «База» и «Премиум»; «Free» в технических текстах — не бесплатная лицензия (глава 9).
Какой PHP нужен? 8.2 или новее. Installer? 2.7.0 или новее.
Можно ли отправлять автоматические уведомления о заказах? В самой PWA — нет. Адресные уведомления отправляет другое приложение через механизм PWA; готовой автоматизации в PWA нет (глава 6).
Кто видит мои подписки и ключи? Ключи и адреса подписок не попадают в админку, диагностику и журналы; отчёт для поддержки не содержит их.
PWA ускорит сайт? Повторные визиты могут стать быстрее, но обещать проценты нельзя.
Что видит администратор в диагностике? Только состояние своего браузера и серверные проверки: браузеры покупателей диагностика не видит.
Как отключить PWA? Меню → Установка → Установка → снимите галочку «Активировать PWA» → «Сохранить». Как поведёт себя уже установленное у покупателей приложение, зависит от браузера.
Где взять помощь? Скопируйте отчёт для поддержки и опишите, что вы делали и что ожидали.