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 :
- Chargez votre fichier XML statique sur votre serveur web, tel qu’Apache.
- 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.php
de mise à jour .
- Extension 1
- Identifiant :
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- URL de mise à jour :
http://contoso.com/extension_updates.php
- Version:
1.1
- Identifiant :
- Extension 2
- Identifiant :
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
- URL de mise à jour :
http://contoso.com/extension_updates.php
- Version:
0.4
- Identifiant :
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
- Autres façons de distribuer une extension
- Mettre à jour une extension Microsoft Edge
- Tableau de bord du développeur de l’Espace partenaires
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.
Cette œuvre est concédée sous licence creative commons attribution 4.0 international.