Для веб-push-уведомлений требуются фоновые работники, известные как работники сферы обслуживания , для отображения уведомлений, когда ваш сайт не открыт. Эти фоновые работники являются обычными файлами JavaScript, которые запускаются в специальной среде браузера. Код в вашем сайте OneSignalSDKWorker.js - сервисный работник.
Браузер каждого подписчика загружает сценарий из OneSignalSDKWorker.js, чтобы сохранить локальную копию для выполнения, и проверяет наличие обновлений рабочего сценария, периодически повторно загружая OneSignalSDKWorker.js.
Когда:
- Пользователь заходит на ваш сайт
- Или пользователь получает push-уведомление
OneSignalSDKWorker.js будет загружаться с вашего сайта для проверки обновлений, хотя эта проверка выполняется не чаще одного раза в 24 часа, чтобы предотвратить слишком большое количество запросов на ваш сайт.
Периодические проверки являются обязательными и выполняются браузером, а не нашим SDK. Время между проверками не может превышать 24 часа.
Так как браузер каждого подписчика периодически проверяет наличие обновлений, это может привести к увеличению нагрузки на трафик.
Некоторые способы уменьшить нагрузку на ваш сервер:
- Ресурсы хоста в других местах, если это возможно
Распространенной оптимизацией является отправка значка уведомлений с хоста изображений, такого как Imgur, вместо вашего сайта.
Использование уведомлений на основе часовых поясов
Использование обратного прокси-сервера, такого как CloudFlare
Если контент вашего сайта более статичен, чем динамический, вы можете использовать CloudFlare для обслуживания кэшированных версий своей страницы, а не только своих ресурсов, что может фактически исключать запросы к вашему серверу.
- Сегментирование доставки уведомлений
Если ни один из этих параметров недоступен, возможно, вам придется увеличить производительность вашего сервера, чтобы иметь возможность обрабатывать запросы трафика.