Partager via


Définir une extension installée en externe pour qu’elle soit automatiquement mise à jour

Cet article s’applique aux extensions installées en externe ; autrement dit, les extensions qui sont distribuées via une approche autre que l’Espace partenaires ; consultez Autres méthodes de distribution d’une extension. Cet article ne s’applique pas aux extensions que vous publiez à l’aide du tableau de bord développeur de l’Espace partenaires . pour cette approche de distribution, consultez Mettre à jour une extension Microsoft Edge.

Toutes les quelques heures, Microsoft Edge vérifie si chaque extension ou application installée a une URL de mise à jour. Pour spécifier une URL de mise à jour pour votre extension, utilisez le update_url champ dans le manifeste. Le update_url champ dans le manifeste pointe vers un emplacement qui peut effectuer une mise à jour case activée. Pour chaque update_url, cette URL envoie des demandes pour les fichiers MANIFESTE XML mis à jour. Si le fichier XML du manifeste de mise à jour répertorie une extension ou une version d’application plus récente, Microsoft Edge télécharge et installe la version la plus récente. Le même processus fonctionne pour les mises à jour manuelles, où le nouveau .crx fichier doit être signé avec la même clé privée que la version actuellement installée.

Afin de maintenir la confidentialité des utilisateurs, Microsoft Edge n’envoie aucun Cookie en-tête avec des demandes de manifeste de mise à jour automatique et ignore les Set-Cookie en-têtes dans les réponses à ces demandes.

Lorsque vous définissez votre extension pour qu’elle soit automatiquement mise à jour sur les ordinateurs des utilisateurs, votre extension partage les avantages suivants avec Microsoft Edge :

  • Incorporez des correctifs de bogues et de sécurité.
  • Ajoutez de nouvelles fonctionnalités ou améliorations des performances.
  • Améliorez l’interface utilisateur.

Le site web des modules complémentaires Microsoft Edge héberge vos extensions, et vous pouvez mettre à jour votre extension à l’aide du même mécanisme que Microsoft Edge. Vous ne contrôlez pas le mécanisme de mise à jour.

(Auparavant, les extensions non basées sur le magasin étaient prises en charge. En outre, précédemment, vous avez mis à jour les fichiers binaires natifs et l’extension en même temps.)

Importante

Soyez prudent lorsque vous mettez à jour des extensions qui ont une dépendance sur les fichiers binaires natifs.

Mettre à jour l’URL

Si vous hébergez votre propre extension ou application, vous devez ajouter le update_url champ à votre manifest.json fichier. L’extrait de code suivant montre un exemple de update_url champ :

{
  "name": "My extension",
  ...
  "update_url": "http://contoso.com/mytestextension/updates.xml",
  ...
}

Mise à jour du manifeste

Le manifeste mis à jour retourné par le serveur doit être un document XML ; par exemple:

<?xml version='1.0' encoding='UTF-8'?>
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
  <app appid='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'>
    <updatecheck codebase='http://contoso.com/mytestextension/mte_v2.crx' version='2.0' />
  </app>
</gupdate>

Le fichier XML manifeste mis à jour définit les attributs suivants :

Attribut Détails
appid L’ID d’extension est généré en fonction d’un hachage de la clé publique. Pour rechercher l’ID d’une extension, ouvrez Microsoft Edge et consultez edge://extensions.
codebase URL du .crx fichier.
version Cette valeur d’attribut est utilisée par Microsoft Edge pour déterminer s’il doit télécharger le .crx fichier spécifié par codebase. Il doit correspondre à la valeur de version dans le manifest.json fichier du .crx fichier.

Le fichier XML du manifeste de mise à jour peut contenir des informations sur plusieurs extensions, en incluant plusieurs <app> éléments.

Tests

Microsoft Edge recherche automatiquement les mises à jour des extensions toutes les quelques heures. Pour mettre à jour les extensions immédiatement, accédez à edge://extensions, activez le bouton bascule Mode développeur , puis cliquez sur le bouton Mettre à jour .

Utilisation avancée : paramètres de requête

Le mécanisme de base pour mettre à jour à l’aide de paramètres est simple. Pour mettre à jour automatiquement votre extension :

  1. Chargez votre fichier XML statique sur votre serveur web, tel qu’Apache.
  2. Mettez à jour le fichier XML à mesure que vous publiez de nouvelles versions de vos extensions.

Tirez parti du fait que certains paramètres ajoutés à la demande de manifeste de mise à jour indiquent l’extension ID et version. Vous pouvez utiliser la même update URL chose pour toutes vos extensions, au lieu d’un fichier XML statique. Pour utiliser la même update URL chose pour toutes vos extensions, pointez sur une URL qui exécute du code dynamique côté serveur qui teste les paramètres.

L’exemple suivant illustre le format des paramètres de requête de l’URL de mise à jour :

?x={extension_data}

Dans cet exemple, {extension_data} est une chaîne encodée url qui utilise le format suivant.

id={id}&v={version}

Par exemple, les deux extensions suivantes pointent vers la même URL http://contoso.com/extension_updates.phpde mise à jour .

  • Extension 1
    • Identifiant : aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    • URL de mise à jour : http://contoso.com/extension_updates.php
    • Version: 1.1
  • Extension 2
    • Identifiant : bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
    • URL de mise à jour : http://contoso.com/extension_updates.php
    • Version: 0.4

Les exemples suivants sont des demandes de mise à jour de chaque extension.

http://contoso.com/extension_updates.php?x=id%3Daaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%26v%3D1.1
http://contoso.com/extension_updates.php?x=id%3Dbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb%26v%3D0.4

Vous pouvez également répertorier plusieurs extensions dans une seule requête pour chaque URL de mise à jour unique. L’exemple suivant fusionne les requêtes précédentes en une seule requête :

http://contoso.com/extension_updates.php?x=id%3Daaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%26v%3D1.1&x=id%3Dbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb%26v%3D0.4

Si vous envoyez une seule requête et que le nombre d’extensions installées qui utilisent la même URL de mise à jour est trop long, la mise à jour case activée émet plus GET de demandes. Une GET URL de requête est trop longue si elle contient environ 2 000 caractères.

Dans une version ultérieure, au lieu d’émettre plusieurs GET demandes, une seule POST requête peut être émise, avec les paramètres de requête dans le POST corps.

Utilisation avancée : version minimale du navigateur

À mesure que de nouvelles API sont publiées pour le système d’extensions Microsoft Edge, vous souhaiterez peut-être publier une version mise à jour de votre extension ou application qui fonctionne uniquement avec des versions plus récentes de Microsoft Edge. Lorsque Microsoft Edge est automatiquement mis à jour, la mise à jour de la plupart de vos utilisateurs vers cette nouvelle version peut prendre quelques jours.

Pour vous assurer qu’une mise à jour spécifique s’applique uniquement aux versions de Microsoft Edge qui sont actuelles ou plus récentes qu’une version spécifique, ajoutez l’attribut prodversionmin dans votre manifeste de mise à jour.

Par exemple, dans le code suivant, la prodversionmin valeur d’attribut de 3.0.193.0 spécifie que votre application est automatiquement mise à jour vers la version 2.0 uniquement lorsque l’utilisateur exécute Microsoft Edge 3.0.193.0 ou une version plus récente :

<?xml version='1.0' encoding='UTF-8'?>
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
  <app appid='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'>
    <updatecheck codebase='http://contoso.com/mytestextension/mte_v2.crx' version='2.0' prodversionmin='3.0.193.0' />
  </app>
</gupdate>

Voir aussi

Chrome Dev docs :

Remarque

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Google et utilisées conformément aux termes décrits dans la licence internationale Creative Commons Attribution 4.0. La page d’origine se trouve ici.

Licence Creative Commons Cette œuvre est concédée sous licence creative commons attribution 4.0 international.