В уведомлении об обновлении сотрудника службы можно ли узнать что-либо о новой версии, ожидающей установки?

#service-worker #workbox

Вопрос:

Несколько распространенный шаблон для работников служб-показывать уведомление, когда новая версия вашего приложения загружена и готова к установке, например, так.

Каждый пример, который я видел (как примеры кода, так и на реальных веб-сайтах), просто сообщает пользователю «доступно обновление», но не более того, например, что содержится в обновлении. Но вы можете представить сценарии, в которых вам может потребоваться предоставить пользователю информацию о том, что включено в обновление. Или ваше приложение может захотеть отображать уведомление об обновлении более или менее заметно в зависимости от его важности.

Представьте себе ситуацию, когда вы выпускаете несколько незначительных исправлений ошибок в своем приложении в один и тот же день, пользователь, вероятно, будет немного раздражен, продолжая видеть уведомление об обновлении без информации о том, что нового, затем нажмите на него и обновите, и увидите, что это не имеет к ним отношения. Или представьте себе супер критическое обновление, вам может понадобиться что-то более навязчивое, чем небольшое всплывающее уведомление.

Поэтому мой вопрос в том, есть ли какой-либо способ узнать что-то о новом работнике службы до его установки? Например, получить связанный номер версии или любые другие метаданные?

Единственная идея, которая у меня есть, — создать API, который не контролируется вашим сотрудником службы и содержит некоторую информацию о версиях вашего приложения, но это все равно не поможет вам в случае, если вы выпустили несколько версий, более новых, чем версия, запущенная пользователем, потому что вы не знаете, какая из этих версий находится в предстоящем обновлении.