Ta usterka zawiera plik manifestu internetowego z polami wymaganymi do zainstalowania aplikacji internetowej.
Przycisk zawiera też domyślnie ukryty przycisk instalacji.
Nasłuchiwanie zdarzenia beforeinstallprompt
Gdy przeglądarka uruchomi zdarzenie beforeinstallprompt
, będzie to oznaczać,
że można zainstalować aplikację internetową i wyświetlić przycisk instalacji
po stronie użytkownika. Zdarzenie beforeinstallprompt
jest wywoływane, gdy aplikacja spełnia
kryteria możliwości instalacji.
Przechwytywanie zdarzenia umożliwia deweloperom dostosowanie instalacji i wyświetlenie użytkownikowi komunikatu zainstalować ją, gdy uznają, że jest to najlepszy moment.
- Aby udostępnić projekt do edycji, kliknij Remiksuj, aby edytować.
- Dodaj do obiektu
window
moduł obsługi zdarzeńbeforeinstallprompt
. - Zapisz
event
jako zmienną globalną. będą nam później potrzebne do wyświetlenia . - Odkryj przycisk instalacji.
Kod:
window.addEventListener('beforeinstallprompt', (event) => {
// Prevent the mini-infobar from appearing on mobile.
event.preventDefault();
console.log('👍', 'beforeinstallprompt', event);
// Stash the event so it can be triggered later.
window.deferredPrompt = event;
// Remove the 'hidden' class from the install button container.
divInstall.classList.toggle('hidden', false);
});
Klikanie przycisku instalacji
Aby wyświetlić prośbę o instalację, wywołaj prompt()
na zapisanym beforeinstallprompt
. Wywołanie prompt()
jest wykonywane w module obsługi kliknięć przycisku instalacji, ponieważ
Funkcja prompt()
musi być wywoływana gestem użytkownika.
- Dodaj moduł obsługi zdarzeń kliknięcia dla przycisku instalacji.
- Zadzwoń pod numer
prompt()
przy zapisanym wydarzeniubeforeinstallprompt
. - Zapisz wyniki promptu.
- Ustaw puste zdarzenie
beforeinstallprompt
. - Ukryj przycisk instalacji.
Kod:
butInstall.addEventListener('click', async () => {
console.log('👍', 'butInstall-clicked');
const promptEvent = window.deferredPrompt;
if (!promptEvent) {
// The deferred prompt isn't available.
return;
}
// Show the install prompt.
promptEvent.prompt();
// Log the result
const result = await promptEvent.userChoice;
console.log('👍', 'userChoice', result);
// Reset the deferred prompt variable, since
// prompt() can only be called once.
window.deferredPrompt = null;
// Hide the install button.
divInstall.classList.toggle('hidden', true);
});
Śledzenie zdarzeń instalacji
Instalowanie aplikacji internetowej za pomocą przycisku instalacji to tylko jeden ze sposobów
zainstalować go. Mogą też skorzystać z menu Chrome, minipaska informacyjnego
przez ikonę w omniboksie. Dostępne opcje
śledzić wszystkie te sposoby instalacji, nasłuchując appinstalled
.
- Dodaj do obiektu
window
moduł obsługi zdarzeńappinstalled
. - Zarejestruj zdarzenie instalacji w Analytics lub innym mechanizmie.
Kod:
window.addEventListener('appinstalled', (event) => {
console.log('👍', 'appinstalled', event);
// Clear the deferredPrompt so it can be garbage collected
window.deferredPrompt = null;
});
Więcej informacji
Gratulacje, aplikację można teraz zainstalować.
Oto kilka dodatkowych czynności, które możesz wykonać: