Questions fréquentes sur la migration après l'abandon des installations intégrées

Depuis le 12 juin 2018, l'installation intégrée est obsolète. Pour en savoir plus, consultez notre article du blog Chromium.

Questions sur le calendrier

Qu'est-ce qui va changer le 12/06/2018 ?

L'installation intégrée sera désactivée pour tous les articles du Chrome Web Store (extensions et applications, par exemple) publiés pour la première fois à partir du 12 juin 2018. "Désactivé" signifie que les tentatives d'installation intégrée seront automatiquement redirigées vers la page d'informations de l'élément sur le Chrome Web Store, où l'utilisateur pourra terminer l'installation. Cela ne change rien pour les articles existants du Play Store qui ont été publiés pour la première fois avant cette date.

Qu'est-ce qui va changer le 12/09/2018 ?

La désactivation s'appliquera à TOUS les éléments, quelle que soit la date de publication. Toutes les tentatives d'installation intégrée pour tous les éléments seront redirigées vers le Chrome Web Store, où les utilisateurs pourront terminer l'installation.

Que dois-je faire avant le 12/09/2018 ?

Vous n'avez rien à modifier, mais nous vous recommandons d'examiner votre flux d'installation et de remplacer l'appel chrome.webstore.install() par une navigation directe vers la fiche Chrome Web Store de votre article. Vous pouvez ainsi vérifier que l'expérience utilisateur est optimale.

Nous vous recommandons également d'intégrer le nouveau badge de téléchargement du Chrome Web Store à votre flux d'installation sur votre site.

Qu'est-ce qui va changer dans M71 (déc. 2018) ?

À partir de M71, Chrome ne prendra plus en charge la méthode chrome.webstore.install() et son appel échouera, ce qui entraînera un flux d'installation interrompu sur votre site. À ce stade, les appels à l'API génèrent une erreur de type JavaScript. Vous devez supprimer tous les appels à la méthode API avant cette date.

Après l'installation intégrée

À quoi ressemblera le processus d'installation ?

Lorsque votre site appelle chrome.webstore.install(), Chrome ne déclenche plus de boîte de dialogue immédiatement, mais ouvre un nouvel onglet au premier plan vers la page d'informations du Chrome Web Store (par exemple, https://chrome.google.com/webstore/detail/EXTENSION_ID). À partir de là, l'utilisateur peut suivre le processus d'installation standard en cliquant sur "Installer". Une boîte de dialogue l'invite à lire les autorisations, et à installer ou annuler. Une fois la boîte de dialogue fermée, l'onglet reste sur le Chrome Web Store.

Comment savoir si l'installation s'est déroulée correctement ?

Lorsque vous appelez chrome.webstore.install(), l'échec du rappel est déclenché et un message d'erreur indique que l'utilisateur a été redirigé vers le Chrome Web Store. Elle n'indique pas si l'installation a réussi ou non. N'oubliez pas qu'à partir de Chrome 71, les appels à chrome.webstore.install() échoueront. L'échec du rappel ne sera donc jamais exécuté.

Sans cette API, votre site peut toujours détecter si votre article est déjà installé en communiquant entre l'extension et votre site Web. Pour ce faire, utilisez la messagerie d'extension et la propriété externally_connectable dans le fichier manifeste.

"externally_connectable": {
  "matches": ["https://www.example.com/*"]
}
// JS running on https://example.com
try {
  chrome.runtime.sendMessage('EXTENSION_ID', MESSAGE, function() {
    if (chrome.runtime.lastError) {
      // Extension is not installed.
    }
  });
} catch (e) {
  // Extension is not installed.
}

Remplacez les éléments suivants :

  • EXTENSION_ID: ID de votre extension.
  • MESSAGE: chaîne de message ou objet à envoyer à l'extension.

Comment afficher une page d'informations après l'installation ?

Utilisez l'événement chrome.runtime et ouvrez un nouvel onglet après l'installation. Voici un exemple à utiliser dans votre page d'arrière-plan:

chrome.runtime.onInstalled.addListener(function listener(details) {
  if (details.reason === chrome.runtime.OnInstalledReason.INSTALL) {
    chrome.tabs.create({url: "https://www.example.com/"});
    chrome.runtime.onInstalled.removeListener(listener);
  }
});

Puis-je bénéficier d'une exception ?

Non. Ce changement de règlement s'applique à tous les éléments du Chrome Web Store, sans exception.