Chrome или iOS Safari не запускают "beforeinstallprompt" для PWA - PullRequest
2 голосов
/ 08 июня 2019

Ниже приведен мой код, который я использую для прослушивания события beforeinstallprompt в приложении React.Я удалил много ненужного кода, поэтому нижеприведенный пример не является моим полным примером, хотя ловушка React такая же.

На моем телефоне Android и iOS я не могу запустить это событие и предупреждение "Тест перед установкой "не появляется.Однако он запускается в Chrome на рабочем столе Windows 10.А на Android я могу установить приложение из пользовательской строки меню, и тогда alert('appinstalled') запускается, что странно.

Так что подтверждено, что оно работает в настольном компьютере Chrome, просто не запускается на мобильных устройствах.Чего мне не хватает?

export default function MyComponent() {
    const [deferredPrompt, setDeferredPrompt] = useState(null)
    useEffect(() => {
        window.addEventListener('beforeinstallprompt', (e) => {
            e.preventDefault()
            setDeferredPrompt(e)
            alert('test beforeinstallprompt')
        })
        window.addEventListener('appinstalled', () => {
            alert('appinstalled')
        })
    }, [])
    return null
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...