Вопросы и типовые проблемы

Сначала откройте страницу «Диагностика» (глава 7): она часто сама указывает причину. Ниже — короткие ответы по реальным сценариям. В каждом: что проверить по порядку и куда идти дальше.

Содержание

Не появляется установка

Проверьте по порядку:

  1. PWA включено. Меню → Установка → Установка: галочка «Активировать PWA»; в плашке вверху: «PWA статус: Активирован» (глава 3).
  2. Сайт на HTTPS. Без HTTPS (кроме localhost) браузер не включит Service Worker.
  3. Тема подключена. В шаблоне темы есть оба хелпера (head и footer). Для «Магазина» обычно подключается автоматически. Если нет — вставьте код со страницы «Установка» (глава 2, шаг 3).
  4. Иконка, имя и короткое имя заполнены. Без иконки браузер не предложит установку (глава 3).
  5. Включён способ приглашения (баннер, снэк-бар, поп-ап, кнопка). Кнопка показывается только там, куда вы её вставили.
  6. Диагностика: карточка «Требования к установке» должна быть не красной (глава 7).
  7. Баннер уже закрывали? Закрытие запоминается для всего сайта. Откройте витрину в режиме инкогнито или очистите данные сайта.
  8. Приложение уже установлено на этом устройстве, и браузер больше не предлагает установку.
  9. Браузер не поддерживает установку (например, Firefox на компьютере) или сайт открыт во встроенном просмотрщике мессенджера. Откройте в Chrome, Edge или Safari (глава 4).

Не помогло — скопируйте отчёт для поддержки.

Не приходит Push

Push работает только в редакции «Премиум» (глава 9). Проверьте:

  1. Редакция «Премиум» активна, и после её включения вы нажали «Сохранить» в настройках витрины (глава 6). Если на странице «Push-уведомления» написано про «премиум-версию» — лицензия не активна.
  2. Есть подписчики. В плашке вверху страницы — «Подписалось на push-уведомления». Если 0 — на сайте нет кнопки или виджета подписки (глава 6, шаг 1), либо покупатели не дали разрешение. Рассылка «Отправлено!» при нуле подписчиков никому не уходит.
  3. Ключи VAPID в порядке. В плашке строка «Push-ключи (VAPID)» — Shared или Legacy, без красного предупреждения. После смены ключа подписчики должны подписаться заново (глава 8).
  4. Разрешение браузера. Покупатель мог нажать «Блокировать». Разрешение возвращается в настройках сайта в браузере.
  5. Нужная версия приложения у покупателя. После обновления Service Worker обновляется при следующем визите.
  6. На iPhone уведомления работают только в приложении, добавленном на экран «Домой» (глава 4). Версия 1.6.2 исправила формат шифрования, из-за которого на iPhone уведомления могли не доходить; на настоящем iPhone это не проверялось.
  7. «Принято» не значит «показано». Уведомление может не показаться из-за режима «Не беспокоить», экономии заряда или настроек телефона.
  8. Журнал wa-log/pwa-push.log. Попросите хостинг или разработчика посмотреть записи send_failed (там код ответа push-сервиса). Записи expired_subscriptions_removed — приложение удалило недействительные подписки.
  9. Окружение сервера. Для отправки нужны PHP-расширения openssl, curl, mbstring, json, и сервер должен иметь исходящий HTTPS. При проблемах с созданием ключей в wa-log/pwa-settings-errors.log будет запись о сбое; обратитесь к хостингу.
  10. Диагностика: карточки «Push-ключи (VAPID)» и «Push-подписка» (глава 7).

Не обновляется контент

Если покупатели видят старые страницы или картинки:

  1. Страницы. Для страниц должна стоять стратегия «Сначала сеть»: тогда они свежие, пока есть сеть (глава 5).
  2. Картинки по старому адресу. При «Сначала кеш» картинка, заменённая под тем же адресом, может оставаться старой до 30 дней. Переключите изображения на Stale-while-revalidate, а картинки загружайте под новым именем (глава 5). Даже при Stale-while-revalidate покупатель один раз может увидеть старую картинку.
  3. Новая версия приложения ждёт. После изменения PWA покупатель видит предложение обновить. Если нужно подтолкнуть, поменяйте «Версию» на странице «Обновления кеша» (глава 5).
  4. Диагностика: карточка «Кеширование».
  5. Свой кеш на сервере. Кеш веб-сервера, CDN и других модулей PWA не очищает.
  6. Если вы используете предварительное кеширование, поменяйте версию компонента, чтобы он обновился (глава 5).

PWA не очищает кеши в браузерах покупателей принудительно.

Диагностика показывает предупреждение

Предупреждение — не поломка: работает, но есть риск. Прочитайте подсказку «Как исправить» в карточке. Самые частые:

Предупреждение Что это
Service Worker: «Нет регистрации» (в браузере) Витрину ещё не открывали в вашем браузере. Откройте витрину и повторите (глава 7)
Service Worker: «Не перегенерирован» Откройте настройки витрины → «Сохранить»
Service Worker: «Ожидает» Закройте все вкладки сайта и откройте снова
Кеширование: «Сначала кеш» / «Только кеш» для картинок Переключите на Stale-while-revalidate
Иконки: maskable Загрузите отдельную maskable-иконку или выключите переключатель
Push-подписка: пропущено Нет «Премиум»: ожидаемо для «Базы»

Подробный разбор — глава 7.

Не работает на iPhone

  1. Добавьте магазин на экран «Домой» (Safari → «Поделиться» → «На экран “Домой”») и открывайте его оттуда (глава 4).
  2. iOS 16.4 или новее нужна для push и для добавления из других браузеров.
  3. HTTPS обязателен.
  4. Разрешение на уведомления запрашивайте из установленного приложения, а не из вкладки Safari.
  5. Если push на iPhone не приходит — посмотрите «Не приходит Push».
  6. Работа на реальном 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» → «Сохранить». Как поведёт себя уже установленное у покупателей приложение, зависит от браузера.

Где взять помощь? Скопируйте отчёт для поддержки и опишите, что вы делали и что ожидали.

Просмотр изображения
Оригинал