Pozwól na instalację

Ten błąd zawiera plik manifestu internetowego z wymaganymi polami, które umożliwiają instalację aplikacji internetowej.

Zawiera też przycisk instalowania, który jest domyślnie ukryty.

Gdy przeglądarka uruchomi zdarzenie beforeinstallprompt, będzie to oznaczać, że aplikację internetową można zainstalować i użytkownik może zobaczyć przycisk instalacji. Zdarzenie beforeinstallprompt jest wywoływane, gdy aplikacja spełnia kryteria instalacji.

Przechwytywanie zdarzenia pozwala deweloperom dostosować instalację i wyświetlić użytkownikowi prośbę o jej instalację w najlepszym momencie.

  1. Kliknij Remixuj do edycji, aby umożliwić edycję projektu.
  2. Dodaj do obiektu window moduł obsługi zdarzeń beforeinstallprompt.
  3. Zapisz zmienną event jako zmienną globalną; będziemy jej potrzebować później, aby wyświetlić prompt.
  4. 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);
});

Obsługa kliknięcia przycisku instalacji

Aby wyświetlić prośbę o instalację, wywołaj metodę prompt() w zapisanym zdarzeniu beforeinstallprompt. Wywołanie funkcji prompt() odbywa się w obiekcie przetwarzającym kliknięcie przycisku instalacji, ponieważ funkcja prompt() musi być wywoływana gestem użytkownika.

  1. Dodaj moduł obsługi zdarzenia kliknięcia dla przycisku instalacji.
  2. Zawołanie prompt() w zapisanym zdarzeniu beforeinstallprompt.
  3. Zaloguj wyniki promptu.
  4. Ustaw zapisane zdarzenie beforeinstallprompt na wartość null.
  5. 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 zdarzenia instalacji

Instalowanie aplikacji internetowej za pomocą przycisku instalowania to tylko jeden ze sposobów. Mogą też korzystać z menu Chrome, minipaska informacyjnego oraz ikony w omniboksie. Wszystkie te sposoby instalacji możesz śledzić, nasłuchując zdarzenia appinstalled.

  1. Dodaj do obiektu window uchwyt zdarzeń appinstalled.
  2. Zdarzenie instalacji należy odnotować w Analytics lub za pomocą innego mechanizmu.

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ć: