J'ai ajouté les modules pwa (ou schématique) et j'ai correctement configuré mon fichier manifest.json. Sur un appareil Android, mes techniciens de service sont engagés, j'obtiens l'invite d'installation sur l'écran d'accueil et la barre d'adresse disparaît et je peux voir l'apparence native. Cependant, sur Chrome/Safari IOs il n'y a pas d'invite. Y a-t-il quelque chose que je dois faire par programme/en plus?
J'utilise JavaScript dans iOS et sur Android pour vérifier si l'application est en mode autonome et afficher une invite sur iOS et les navigateurs non-chrome dans Android. Je laisse simplement chrome faites-le car il est suffisamment efficace. Sur iOS, seul safari prend en charge les installations de service worker pour l'instant.
Voici un extrait de code pour détecter si l'application est activée IOS et déclencher une fenêtre contextuelle à ajouter à l'écran d'accueil:
// Detects if device is on iOS
const isIos = () => {
const userAgent = window.navigator.userAgent.toLowerCase();
return /iphone|ipad|iPod/.test( userAgent );
}
// Detects if device is in standalone mode
const isInStandaloneMode = () => ('standalone' in window.navigator) && (window.navigator.standalone);
// Checks if should display install popup notification:
if (isIos() && !isInStandaloneMode()) {
this.setState({ showInstallMessage: true });
}