В релизе Chrome 134 выкатилось приятное: поддержка Launch Handler API для открытия ссылок в установленных PWA. То есть если вы, например, установили какое-то PWA для прослушивания музыки и кто-то скинул вам ссылку на сайт, который вы превратили в это самое PWA, то теперь можно в веб-манифесте указать, чтобы открывалась не вкладка в браузере, а PWA.
Запутанное немножко объяснение, но приведу аналогию. Когда вам приходит на мобилке ссылка на Twitter/X, и при этом у вас есть установленное приложение Twitter/X, у вас открывается сразу приложение, а не сайт. Теперь так же можно будет делать для PWA.
Чтобы магия заработала, нужно в манифесте дописать одно из значений:
{
"launch_handler": {
"client_mode": "navigate-new" | "navigate-existing" | "focus-existing" | "auto"
}
}
И дополнительно обработать при открытии страницы
window.launchQueue.Классно, что продумали не только то, как разработчик может управлять этим открытием, но и пользователь. Если перейти в настройки установленного веб-приложения, то там есть переключатель, открывать ссылки в PWA или в браузере. И у этой пользовательской настройки приоритет над настройкой от разработчика.
https://developer.chrome.com/docs/web-platform/launch-handler