Тихий перезапуск вашего зарегистрированного сервисного работника каждую минуту , когда ваш PWA закрыт, - это то, что браузеры активно предотвращают. Это может быть причиной злонамеренного поведения во многих сценариях ios.
При этом существует два варианта запуска зарегистрированного работника службы: либо не тихо, либо реже.
Pu sh Уведомления
С точки зрения "не молча", вы можете использовать pu sh уведомления для запуска вашего работника сервиса на основе входящего сообщения, отправленного с сервер уведомлений pu sh. Пользователи должны сначала подписаться на получение уведомлений pu sh. Вам необходимо показать видимое пользователю уведомление в обработчике событий push
вашего сервисного работника, поэтому этот метод не является "беззвучным".
Эти события push
необходимо запускать через удаленный сервер. , Вы не можете «разбудить» работника сервиса через push
события, поступающие с локального устройства.
Periodi c Background Syn c
Periodi c Фоновая синхронизация c - более новая функция, которая ближе к тому, что вы описываете. Он позволяет веб-приложениям, удовлетворяющим определенным условиям, регистрироваться для события periodicsync
, которое будет запускаться автоматически (без необходимости удаления сервера) на регулярной основе. Вам не нужно показывать видимое пользователю уведомление внутри этого periodicsync
обработчика событий.
Специфические ограничения c, которые применяются к periodi c background syn c, зависят от браузера, но по крайней мере, в Chrome вы не можете регистрироваться для periodicsync
событий, которые запускаются где-либо почти так же часто, как раз в минуту. Одно событие в день, если выполняются другие условия, происходит примерно так же часто, как и следовало ожидать.