web-dev-qa-db-fra.com

Liens profonds du Web vers PWA (version autonome)

J'ai une application web qui peut être installée en tant qu'application autonome dans l'écran d'accueil grâce à la norme PWA.

Lorsqu'un utilisateur oublie son mot de passe, un email lui est envoyé avec un lien pour réinitialiser le mot de passe.

La question est:

Puis-je créer un lien profond vers la version autonome déjà installée au lieu de l'application Web dans le navigateur chrome? Je voudrais obtenir ce comportement:

  • L'utilisateur clique sur le lien de messagerie depuis l'application gmail.
  • Vérification du système d'exploitation si le lien correspond à un schéma d'URL pré-enregistré dans le système (c'est l'étape que je ne sais pas vraiment si c'est possible à partir du Web en ce moment)
  • S'il est trouvé, ouvrez la version autonome. Sinon, ouvrez le navigateur.

Merci d'avance!

À votre santé

16
Alex29

Il existe un exemple de description des filtres d'intention dans json ici . La section pertinente du manifeste est intent_filters

{
  "manifest_package": "org.chromium.webapk.test",
  "scope_url": "https://pwa.rocks/",
  "intent_filters": {
    "scope_url_scheme": "https",
    "scope_url_Host": "pwa.rocks",
    "scope_url_path": "/"
  },
  "start_url": "https://pwa.rocks/",
  "display_mode": "standalone",
  "orientation": "portrait",
  "theme_color": "2147483648L",
  "background_color": "2147483648L",
  "icon_urls_and_icon_murmur2_hashes": "http://www.pwa.rocks/icon1.png 0 http://www.pwa.rocks/icon2.png 0",
  "web_manifest_url": "https://pwa.rocks/pwa.webmanifest",
  "version_code": "1",
  "version_name": "1.0",
  "bound_webapk": {
    "runtime_Host": "org.chromium.chrome",
    "runtime_Host_application_name": "Chromium"
  }
}
6

Si vous définissez correctement votre scope dans le manifest.json fichier, tous les liens dans d'autres applications s'ouvriront dans la version autonome au lieu du navigateur. Notez que les liens dans le navigateur préfèrent toujours la version du navigateur au lieu de la version autonome. Par exemple:

"start_url": "/",
"scope": "/",
"display": "standalone"

Remarque: la navigation directe vers https://example.com/app/ dans la barre d'adresse fonctionnera exactement de la même manière que pour les applications natives dotées d'un filtre d'intention. Chrome suppose que l'utilisateur a l'intention de visiter le site et ouvrira ce site.

Source: developers.google.com/web/fundamentals/integration/webapks

1
martindzejky

Configurez les Android filtres d'intention dans le manifeste de l'application Web comme indiqué ici

0
vincentlcy