Aktualisierungszyklus von Chrome-Erweiterungen

In diesem Leitfaden wird der vollständige Ablauf für die Aktualisierung von Erweiterungen beschrieben. Dabei werden der Standardaktualisierungsprozess, manuelle Überschreibungen, Entwickler-APIs und die erheblichen Auswirkungen von Unternehmensrichtlinien behandelt.

Der Standard-Updatezyklus

Chrome ist so konzipiert, dass installierte Erweiterungen automatisch auf die neuesten Versionen aktualisiert werden. So haben Nutzer Zugriff auf neue Funktionen und Sicherheitskorrekturen. Standardmäßig sucht Chrome beim Start und alle paar Stunden nach Erweiterungsupdates.

Ein wichtiger Aspekt des Aktualisierungsprozesses ist, dass ein Update nur installiert wird, wenn die Erweiterung als inaktiv gilt. Damit eine Erweiterung inaktiv ist, dürfen ihre Komponenten nicht aktiv verwendet werden. Im Kontext von Manifest V3 bedeutet das in erster Linie, dass der Service Worker der Erweiterung nicht ausgeführt wird. Der Service Worker ist ereignisgesteuert und wird nach einer bestimmten Zeit der Inaktivität beendet. Außerdem wird die Erweiterung nicht als inaktiv betrachtet, wenn Erweiterungsseiten wie die Seitenleiste, das Pop-up-Fenster oder eine Optionsseite geöffnet sind. Ein aktives Content-Script hat keinen Einfluss darauf, ob eine Erweiterung als inaktiv gilt oder nicht.

Diese Leerlaufanforderung kann zu Verzögerungen bei Updates für häufig aktive Erweiterungen führen. Wenn der Service Worker einer Erweiterung ständig durch Ereignisse ausgelöst wird, erreicht er möglicherweise nie den Leerlaufstatus und das Update wird bis zum Neustart des Browsers aufgeschoben.

Verteilung von Erweiterungsupdates überwachen

Im Analysedashboard des Chrome Web Store können Sie sehen, wie viele Ihrer Nutzer die aktuelle Version Ihrer Erweiterung verwenden. Rufen Sie das Chrome Web Store-Entwickler-Dashboard auf und wählen Sie eine Ihrer veröffentlichten Erweiterungen aus. Klicken Sie in der Seitenleiste auf Analytics -> Nutzer und scrollen Sie nach unten zum Tägliche Nutzer nach Artikel-Diagramm. Hier sehen Sie, wie viele Nutzer bereits die neueste Version verwenden.

Screenshot mit der Anzahl der täglichen Nutzer pro Version für eine Beispielerweiterung

Erweiterungen manuell aktualisieren

Wenn Nutzer die neuesten Updates sofort erhalten möchten, können sie ein manuelles Update durchführen. Es ist auch ein nützliches Tool zum Testen von Updates.

So können einzelne Nutzer ein Update für alle installierten Erweiterungen erzwingen:

  1. Rufen Sie chrome://extensions auf.
  2. Aktivieren Sie den Entwicklermodus über die Ein/Aus-Schaltfläche rechts oben.
  3. Klicken Sie auf die Schaltfläche Aktualisieren, die angezeigt wird.

Dadurch werden in Chrome sofort die neuesten Versionen aller installierten Erweiterungen aus dem Chrome Web Store abgerufen.

Nach Updates für eine Erweiterung suchen

Die chrome.runtime API bietet Erweiterungen Tools für die Interaktion mit dem Aktualisierungsmechanismus.

Bei Bedarf nach Updates suchen

Mit der Funktion chrome.runtime.requestUpdateCheck() kann eine Erweiterung eine Updateprüfung programmatisch initiieren. Das ist besonders nützlich für Erweiterungen, die eine kritische Abhängigkeit von einem Backend-Dienst haben und sicherstellen müssen, dass sie die neueste kompatible Version verwenden.

Wenn diese Funktion aufgerufen wird, fragt Chrome im Chrome Web Store nach einer neuen Version und lädt sie herunter, falls sie verfügbar ist. Der Callback der Funktion empfängt einen Status, der das Ergebnis der Prüfung angibt.

Nach verfügbaren Updates suchen

Das Ereignis chrome.runtime.onUpdateAvailable wird ausgelöst, wenn ein Update heruntergeladen wurde und installiert werden kann. Dieses Ereignis enthält die neue Versionsnummer in seinen Details. Durch das Abhören dieses Ereignisses kann eine Erweiterung feststellen, ob ein Update verfügbar ist, und gegebenenfalls in den Leerlauf wechseln oder ein Neuladen mit chrome.runtime.reload() auslösen.

Der folgende Code zeigt ein einfaches Implementierungsmuster:

In Ausnahmefällen ist es möglich, den Browser mit chrome.runtime.requestUpdateCheck() zu zwingen, nach einem Erweiterungsupdate zu suchen:

Häufige Aufrufe von requestUpdateCheck() werden vom Browser gedrosselt. Verwenden Sie diese Funktion nur, wenn Sie wissen, dass ein Update verfügbar ist. Das ist beispielsweise der Fall, wenn für ein aktualisiertes Backend eine neuere Version der Erweiterung erforderlich ist.

Updates über Unternehmensrichtlinien steuern

In verwalteten Unternehmensumgebungen unterliegt der Standardablauf für Erweiterungsupdates den von Systemadministratoren festgelegten Richtlinien. Diese Richtlinien können das Standardverhalten überschreiben, um Sicherheit und Stabilität zu erzwingen.

Installation erzwingen

Mit der ExtensionInstallForcelist-Richtlinie können Administratoren bestimmte Erweiterungen automatisch für ihre Nutzer installieren. Nutzer können Erweiterungen, die mit dieser Richtlinie installiert wurden, weder deaktivieren noch deinstallieren.

Erweiterungsversion anpinnen

Unternehmen müssen jedoch häufig die genaue Version einer Erweiterung steuern, um die Kompatibilität mit anderer Software zu gewährleisten. Dazu können Administratoren eine Erweiterung an eine bestimmte Version anpinnen. Das erfolgt über die Admin-Konsole, in der ein Administrator die erforderliche Version für eine Organisationseinheit auswählen kann. Wenn eine Erweiterung angepinnt ist, wird sie in Chrome nicht über die angegebene Version hinaus aktualisiert.

Aktualisierungsquelle überschreiben

Unternehmen können aus Sicherheits- oder Anpassungsgründen eigene Fork-Versionen von Erweiterungen hosten. o Dadurch wird Chrome gezwungen, die Erweiterung und ihre Updates von einer bestimmten URL und nicht aus dem Chrome Web Store abzurufen.

Chrome-Mindestversion festlegen

Sie können in der Manifestdatei Ihrer Erweiterung eine minimum_chrome_version angeben. So wird sichergestellt, dass die Erweiterung nur in Chrome-Versionen installiert wird, die die verwendeten APIs unterstützen.

Bei Neuinstallationen wird im Chrome Web Store verhindert, dass Nutzer mit älteren Chrome-Versionen die Erweiterung installieren. Es wird die Meldung „Nicht kompatibel“ angezeigt. Wenn ein Update einer Erweiterung die minimum_chrome_version auf eine Version erhöht, die höher ist als die installierte Chrome-Version des Nutzers, erhalten bestehende Nutzer keine Updates für diese Erweiterung mehr. Entwickler sollten sich dessen bewusst sein und Nutzer informieren, wenn ein erheblicher Teil ihrer Nutzerbasis betroffen sein könnte.