Skip to content

PWA-приложение и push-уведомления

Админ-панель /admin работает как Progressive Web App (PWA) — её можно установить на телефон или компьютер как обычное приложение. Помимо удобного полноэкранного вида, установленное приложение умеет получать push-уведомления о новых сообщениях, даже когда оно свёрнуто или полностью закрыто.

Что это даёт

  • Иконка на главном экране, запуск без адресной строки браузера.
  • Push-уведомления о новых входящих сообщениях.

Установка на телефон

iPhone (Safari)

  1. Откройте https://{ваш домен}/admin в Safari.
  2. Нажмите кнопку «Поделиться» внизу экрана.
  3. Выберите «На экран Домой» и подтвердите добавление.
  4. Запускайте приложение с иконки на главном экране, перейдите в раздел "Настройки" -> "Основные" и включите уведомления.

Требования: iOS 16.4 или новее, сайт открыт по HTTPS с настоящим (не самоподписанным) сертификатом.

Android (Chrome)

  1. Откройте https://{ваш домен}/admin в Chrome.
  2. Откройте меню (три точки) и выберите «Установить приложение» (или «Добавить на главный экран»).
  3. Подтвердите установку.

Требования и ограничения

  • Настоящий HTTPS-сертификат — самоподписанный сертификат iOS для Web Push не принимает.
  • iOS 16.4 или новее — на более старых версиях Push API в PWA недоступен вовсе.
  • На сервере рекомендуется установить PHP-расширение gmp или bcmath — без них minishlink/web-push работает, но выводит предупреждение о производительности при каждой отправке.

Диагностика проблем

Проверить, что подписка сохранена:

bash
docker exec -it pet php artisan tinker --execute="echo App\Models\PushSubscription::count();"

Проверить логи доставки — неудачные отправки пишутся в storage/logs/app-{дата}.log:

bash
docker exec pet grep -i "SendWebPushNotificationJob" storage/logs/app-*.log

Выпущено под лицензией MIT. Сайт разработал Илья Лящук.