Как мне вернуть пользователя в мой TWA при нажатии на медиа-уведомление?

Я создаю приложение для Android, которое превращает мое Progressive Web App в "Доверенную веб-активность". (Я следую инструкциям из примера проекта Google.)

Когда пользователь воспроизводит аудио в приложении, на устройстве появляется медиа-уведомление. Я использую API Media Media Session для настройки содержимого этого уведомления.

Если PWA запущен в обычном веб-браузере, после появления уведомления нажатие на него возвращает пользователя к соответствующей вкладке браузера. (Если телефон заблокирован, пользователю предлагается разблокировать.)

Если медиа-уведомление запускается из TWA, нажатие на него ничего не делает. (Другие функции, такие как воспроизведение / пауза, работают как положено.)

Media Session API довольно ограничен по объему. Типы действий MediaSession не включают в себя действие для фокусировки приложения.

navigator.mediaSession.setActionHandler('pause', () => {
            audioElement.pause();
            navigator.mediaSession.playbackState = 'paused';
        });

        navigator.mediaSession.setActionHandler('play', () => {
            audioElement.play();
            navigator.mediaSession.playbackState = 'playing';
        });

navigator.mediaSession.metadata = new MediaMetadata({
            title: 'App',
            artist: 'Name',
            artwork: [
                { src: '/android-chrome-192x192.png?v=47rE43RRzB', sizes: '192x192', type: 'image/png' },
                { src: '/android-chrome-512x512.png?v=47rE43RRzB', sizes: '512x512', type: 'image/png' },
            ],
        });

Когда медиа-уведомление запускается из TWA, я ожидаю, что те же функциональные возможности, что и при его запуске из веб-браузера, такого как Chrome.

Это включает в себя возвращение пользователя в TWA (или предложение пользователю разблокировать устройство), когда уведомление нажимается в любом месте, кроме элемента управления воспроизведением / паузой.

Все остальное работает, кроме этого аспекта.

1 ответ

Это было действие по умолчанию в pwa и в Интернете: всякий раз, когда кто-то нажимает на элемент управления мультимедиа для уведомлений, он переходит на веб-сайт или pwa, но в двух случаях он не работает, он переходит в браузер Chrome, но не фокусируется на приложении или веб-сайте. Я уже поднял билет на то же самое на github

Другие вопросы по тегам