Festlegen der automatischen Aktualisierung einer extern installierten Erweiterung
Dieser Artikel bezieht sich auf extern installierte Erweiterungen. d. a. Erweiterungen, die über einen anderen Ansatz als Partner Center verteilt werden; Weitere Informationen finden Sie unter Alternative Methoden zum Verteilen einer Erweiterung. Dieser Artikel gilt nicht für Erweiterungen, die Sie mit dem Partner Center-Entwickler-Dashboard veröffentlichen. Informationen zu diesem Verteilungsansatz finden Sie unter Aktualisieren einer Microsoft Edge-Erweiterung.
Microsoft Edge überprüft alle paar Stunden, ob jede installierte Erweiterung oder App über eine Update-URL verfügt. Verwenden Sie das update_url
Feld im Manifest, um eine Update-URL für Ihre Erweiterung anzugeben. Das update_url
Feld im Manifest verweist auf einen Speicherort, der eine Updateüberprüfung durchführen kann. Für jede update_url
sendet diese URL Anforderungen für aktualisierte MANIFEST-XML-Dateien. Wenn die XML-Datei des Updatemanifests eine neuere Erweiterung oder App-Version auflistet, lädt Microsoft Edge die neuere Version herunter und installiert sie. Der gleiche Prozess funktioniert für manuelle Updates, bei denen die neue .crx
Datei mit demselben privaten Schlüssel wie die aktuell installierte Version signiert werden muss.
Um den Datenschutz der Benutzer zu gewährleisten, sendet Microsoft Edge keine Cookie
Header mit Manifestanforderungen für automatische Updates und ignoriert alle Set-Cookie
Header in den Antworten auf diese Anforderungen.
Wenn Sie ihre Erweiterung so festlegen, dass sie automatisch auf den Computern der Benutzer aktualisiert wird, hat Ihre Erweiterung die folgenden Vorteile für Microsoft Edge:
- Integrieren Sie Fehler- und Sicherheitskorrekturen.
- Fügen Sie neue Features oder Leistungsverbesserungen hinzu.
- Verbessern Sie die Benutzeroberfläche.
Die Microsoft Edge-Add-Ons-Website hostet Ihre Erweiterungen, und Sie können Ihre Erweiterung mit demselben Mechanismus wie Microsoft Edge aktualisieren. Sie steuern den Updatemechanismus nicht.
(Bisher wurden nicht storebasierte Erweiterungen unterstützt. Außerdem haben Sie zuvor die nativen Binärdateien und die Erweiterung gleichzeitig aktualisiert.)
Wichtig
Seien Sie vorsichtig, wenn Sie Erweiterungen aktualisieren, die von nativen Binärdateien abhängig sind.
Url aktualisieren
Wenn Sie Ihre eigene Erweiterung oder App hosten, müssen Sie das update_url
Feld zu Ihrer manifest.json
Datei hinzufügen. Der folgende Codeausschnitt zeigt ein Beispiel für das update_url
Feld:
{
"name": "My extension",
...
"update_url": "http://contoso.com/mytestextension/updates.xml",
...
}
Aktualisieren des Manifests
Das aktualisierte Manifest, das vom Server zurückgegeben wird, sollte ein XML-Dokument sein. Zum Beispiel:
<?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>
Die aktualisierte XML-Manifestdatei definiert die folgenden Attribute:
Attribut | Details |
---|---|
appid |
Die Erweiterungs-ID wird basierend auf einem Hash des öffentlichen Schlüssels generiert. Um die ID einer Erweiterung zu ermitteln, öffnen Sie Microsoft Edge, und lesen Sie edge://extensions . |
codebase |
Eine URL zur .crx Datei. |
version |
Dieser Attributwert wird von Microsoft Edge verwendet, um zu bestimmen, ob die .crx von angegebene Datei heruntergeladen werden codebase soll. Er sollte mit dem Wert von version in der manifest.json Datei der .crx Datei übereinstimmen. |
Die XML-Datei des Updatemanifests kann Informationen zu mehreren Erweiterungen enthalten, indem mehrere <app>
Elemente eingeschlossen werden.
Testen
Microsoft Edge sucht alle paar Stunden automatisch nach Updates von Erweiterungen. Um Erweiterungen sofort zu aktualisieren, wechseln Sie zu edge://extensions
, aktivieren Sie die Umschaltfläche Entwicklermodus , und klicken Sie dann auf die Schaltfläche Aktualisieren .
Erweiterte Verwendung: Anforderungsparameter
Der grundlegende Mechanismus zum Aktualisieren mithilfe von Parametern ist einfach. So aktualisieren Sie Ihre Erweiterung automatisch:
- Laden Sie Ihre statische XML-Datei auf Ihren Webserver hoch, z. B. Apache.
- Aktualisieren Sie die XML-Datei, wenn Sie neue Versionen Ihrer Erweiterungen veröffentlichen.
Nutzen Sie die Tatsache, dass einige Parameter, die der Updatemanifestanforderung hinzugefügt wurden, die Erweiterung ID
und version
angeben. Sie können dasselbe update URL
für alle Erweiterungen anstelle einer statischen XML-Datei verwenden. Um dasselbe update URL
für alle Erweiterungen zu verwenden, verweisen Sie auf eine URL, die dynamischen serverseitigen Code ausführt, der die Parameter testet.
Im folgenden Beispiel wird das Format der Anforderungsparameter der Update-URL veranschaulicht:
?x={extension_data}
In diesem Beispiel {extension_data}
ist eine URL-codierte Zeichenfolge, die das folgende Format verwendet.
id={id}&v={version}
Beispielsweise zeigen die folgenden beiden Erweiterungen auf die gleiche Update-URL http://contoso.com/extension_updates.php
.
- Erweiterung 1
- ID:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- Update-URL:
http://contoso.com/extension_updates.php
- Version:
1.1
- ID:
- Erweiterung 2
- ID:
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
- Update-URL:
http://contoso.com/extension_updates.php
- Version:
0.4
- ID:
Die folgenden Beispiele sind Anforderungen zum Aktualisieren der einzelnen Erweiterungen.
http://contoso.com/extension_updates.php?x=id%3Daaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%26v%3D1.1
http://contoso.com/extension_updates.php?x=id%3Dbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb%26v%3D0.4
Sie können auch mehrere Erweiterungen in einer einzelnen Anforderung für jede eindeutige Update-URL auflisten. Im folgenden Beispiel werden die vorherigen Anforderungen in einer einzelnen Anforderung zusammengeführt:
http://contoso.com/extension_updates.php?x=id%3Daaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%26v%3D1.1&x=id%3Dbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb%26v%3D0.4
Wenn Sie eine einzelne Anforderung senden und die Anzahl der installierten Erweiterungen, die dieselbe Update-URL verwenden, zu lang ist, gibt die Updateüberprüfung weitere GET
Anforderungen aus. Eine GET
Anforderungs-URL ist zu lang, wenn sie ungefähr 2000 Zeichen umfasst.
In einer zukünftigen Version kann anstelle mehrerer GET
Anforderungen eine einzelne POST
Anforderung mit den Anforderungsparametern im POST
Text ausgegeben werden.
Erweiterte Nutzung: Mindestversion des Browsers
Wenn neue APIs für das Microsoft Edge-Erweiterungssystem veröffentlicht werden, möchten Sie möglicherweise eine aktualisierte Version Ihrer Erweiterung oder App veröffentlichen, die nur mit neueren Versionen von Microsoft Edge funktioniert. Wenn Microsoft Edge automatisch aktualisiert wird, kann es einige Tage dauern, bis die meisten Ihrer Benutzer auf diese neue Version aktualisieren.
Um sicherzustellen, dass ein bestimmtes Update nur für Microsoft Edge-Versionen gilt, die aktuell oder neuer als eine bestimmte Version sind, fügen Sie das prodversionmin
-Attribut in Ihrem Updatemanifest hinzu.
Im folgenden Code gibt der prodversionmin
Attributwert von 3.0.193.0
beispielsweise an, dass Ihre App nur dann automatisch auf version 2.0
aktualisiert wird, wenn der Benutzer Microsoft Edge 3.0.193.0
oder höher ausführt:
<?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>
Siehe auch
- Alternative Methoden zum Verteilen einer Erweiterung
- Aktualisieren einer Microsoft Edge-Erweiterung
- Dashboard für Partner Center-Entwickler
Chrome Dev-Dokumentation:
Hinweis
Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die von Google erstellt und geteilt und gemäß den in der Creative Commons Attribution 4.0 International License beschriebenen Bedingungen verwendet werden. Die ursprüngliche Seite finden Sie hier.
Dieses Werk ist unter einer Creative Commons Attribution 4.0 International License lizenziert.