Auf dieser Seite wird erläutert, wie Sie eine Erweiterung im Erweiterungs-Hub veröffentlichen.
Hinweis
Wenn Sie eine Erweiterung veröffentlichen möchten, müssen Sie sich zuerst als Verlag und Webpublisher für Erweiterungen registrieren.
Überprüfbare Quellen
Alle im Extensions Hub veröffentlichten Erweiterungen müssen eine öffentlich nachprüfbare Quelle haben. Anstatt den Quellcode der Erweiterung direkt in den Erweiterungs-Hub hochzuladen, geben Sie stattdessen den Speicherort der Quelle an. Der Erweiterungs-Hub lädt ihn dann herunter und erstellt ihn dort.
Derzeit bedeutet das, dass Sie den Quellcode Ihrer Erweiterung in einem öffentlichen GitHub-Repository verfügbar machen müssen.
Der Upload aus einer nachweisbaren Quelle bietet mehrere Vorteile:
- Nutzer können den Quellcode der zu installierenden Version der Erweiterung prüfen.
- So können Sie sicherstellen, dass nur das hochgeladen wird, was Sie hochladen möchten, und nicht beispielsweise in Arbeit befindliche Projekte oder übrig gebliebene Dateien aus der Entwicklungsphase.
Empfohlener Entwicklungszyklus
Die Entwicklungstools für Firebase-Erweiterungen unterstützen das Hochladen von Vorabversionen Ihrer Erweiterungen. So können Sie Ihre Erweiterungen und die Installation der Erweiterungen ganz einfach in derselben Umgebung testen, in der sie später veröffentlicht werden.
Diese Funktion ermöglicht einen Entwicklungszyklus wie den folgenden:
Mit der Firebase Emulator Suite können Sie Ihre Erweiterung entwickeln und schnell iterieren.
Testen Sie Ihre Erweiterung in einem echten Projekt, indem Sie sie aus einer lokalen Quelle installieren:
firebase ext:install /path/to/extension
firebase deploy --only extensions
Laden Sie eine Vorabversion in den Erweiterungs-Hub hoch (siehe unten). Verteilen Sie den Installationslink für umfassendere Tests und wiederholen Sie den Vorgang, indem Sie bei Bedarf weitere Vorabveröffentlichungen hochladen.
Laden Sie die endgültige, stabile Version im Erweiterungs-Hub hoch (siehe unten) und reichen Sie sie zur Überprüfung ein. Wenn die Erweiterung die Überprüfung besteht, wird sie im Erweiterungs-Hub veröffentlicht.
Erhöhen Sie die Versionsnummer in
extension.yaml
und wiederholen Sie diesen Zyklus für die nächste Version der Erweiterung.
Neue Erweiterung hochladen
So laden Sie eine Erweiterung zum ersten Mal hoch:
Optional: Committen Sie Ihren Code in ein öffentliches GitHub-Repository.
Führen Sie den Befehl
ext:dev:upload
der Firebase CLI aus:GitHub
firebase ext:dev:upload your_publisher_id/your_extension_id
Lokale Quelle
cd /path/to/extension
firebase ext:dev:upload your_publisher_id/your_extension_id --local
Geben Sie in der Befehlsaufforderung Folgendes an:
Die von dir registrierte Publisher-ID.
Ein ID-String, mit dem die Erweiterung identifiziert wird. Geben Sie den Namen Ihrer Erweiterungen im folgenden Format an:
firebase-product-description-of-tasks-performed
. Beispiel:firestore-bigquery-export
Sie werden aufgefordert, weitere Informationen anzugeben:
Wenn Sie Inhalte über GitHub hochladen:
Die URL zum Repository der Erweiterung in GitHub. Ein Repository kann mehrere Erweiterungen enthalten, solange jede Erweiterung einen eindeutigen Stamm hat.
Wenn Sie zum ersten Mal eine neue Erweiterung hochladen, wird das Repository als kanonische Quelle für Ihre Erweiterung registriert.
Das Verzeichnis im Repository, das Ihre Erweiterung enthält.
Die Git-Referenz des Commits, aus dem Sie die Quelle der Erweiterungsversion erstellen möchten. Dies kann ein Commit-Hash, ein Tag oder ein Verzweigungsname sein.
Die Release-Phase der Version, die Sie hochladen.
Die Phasen
alpha
,beta
undrc
(Releasekandidat) dienen zum Hochladen von Vorabveröffentlichungen, die von Testern installiert werden können. Verwenden Sie eine dieser Phasen beim ersten Upload einer neuen Erweiterung.Die Phase
stable
wird für öffentliche Releases verwendet, die im Extensions Hub veröffentlicht werden. Wenn Sie einenstable
-Release hochladen, wird automatisch eine Überprüfung gestartet. Ist die Prüfung erfolgreich, wird die Erweiterung veröffentlicht.
Beachten Sie, dass Sie keine Versionsnummer angeben. Dieser Wert stammt aus der Datei
extension.yaml
. Wenn Sie eine Vorabversion einer Erweiterung hochladen, werden der Version die Phase und die Uploadnummer angehängt. Wennextension.yaml
beispielsweise Version 1.0.1 angibt und Sie einen Releasekandidaten hochladen, wird die Version1.0.1-rc.0
erstellt. Wenn Sie einen weiteren Releasekandidaten der gleichen Version hochladen, wird die Anzahl automatisch erhöht, was zu1.0.1-rc.1
usw. führt.
Nachdem Sie eine Vorabversion der Erweiterung hochgeladen haben, können Sie sie zum Testen mit anderen teilen. Nutzer können Ihre Erweiterung auf zwei Arten installieren:
Über die Console: Nutzer können die Erweiterung installieren, indem sie auf einen Link mit folgendem Format klicken:
https://console.firebase.google.com/project/_/extensions/install?ref=your_publisher_id/your_extension_id@version
Sie können den direkten Link mit Ihren Testern teilen.
Über die Befehlszeile: Nutzer können die Erweiterung installieren, indem sie den Erweiterungs-ID-String an den Befehl
ext:install
übergeben:firebase ext:install your_publisher_id/your_extension_id@version \ --project=destination_project_id
Aktualisierte Version hochladen
Nachdem Sie die erste Version einer Erweiterung hochgeladen haben, können Sie Updates hochladen, um Probleme zu beheben, Funktionen hinzuzufügen oder die Veröffentlichungsphase fortzusetzen. Wenn Sie eine neue Version hochladen, werden Nutzer, die eine ältere Version Ihrer Erweiterung installiert haben, in der Firebase-Konsole zum Aktualisieren aufgefordert.
So laden Sie ein Update hoch:
Optional: Committen Sie Ihren Code in einem öffentlichen Git-Repository.
Führen Sie den Befehl
ext:dev:upload
der Firebase CLI aus:GitHub
firebase ext:dev:upload your_publisher_id/your_extension_id
Dieses Mal werden Sie nicht aufgefordert, das GitHub-Repository oder das Stammverzeichnis der Erweiterung anzugeben, da sie bereits für Ihre Erweiterung konfiguriert wurden. Wenn Sie Ihre Repository-Struktur seitdem neu strukturiert oder zu einem neuen Repository migriert haben, können Sie sie mit den Befehlsargumenten
--root
und--repo
ändern.Lokale Quelle
cd /path/to/extension
firebase ext:dev:upload your_publisher_id/your_extension_id --local
Fristverlängerung für die Veröffentlichung beantragen
Wenn Sie die Erweiterung veröffentlichen möchten, gehen Sie so vor:
Übertragen Sie Ihren Code per Commit an ein öffentliches Git-Repository. (Erforderlich für öffentliche Releases.)
Führen Sie den Befehl
ext:dev:upload
der Firebase CLI aus und geben Siestable
als Release-Phase an:firebase ext:dev:upload your_publisher_id/your_extension_id
Wenn Sie bereits eine Version Ihrer Erweiterung veröffentlicht haben, wird die Erweiterung beim Hochladen einer neuen stabilen Version automatisch zur Überprüfung eingereicht.
Wenn Sie die erste stabile Version der Erweiterung hochgeladen haben, suchen Sie sie in Ihrem Publisher-Dashboard und klicken Sie auf Im Erweiterungs-Hub veröffentlichen.
Die Überprüfung kann einige Tage dauern. Wird sie akzeptiert, wird die Erweiterung im Erweiterungs-Hub veröffentlicht. Wenn der Antrag abgelehnt wird, erhalten Sie eine Nachricht mit dem Grund. Sie können dann die gemeldeten Probleme beheben und den Antrag noch einmal zur Überprüfung einreichen.
Um die Überprüfung zu beschleunigen und die Chancen zu erhöhen, dass Sie beim ersten Versuch bestehen, sollten Sie vor dem Einreichen Folgendes prüfen:
- Sie haben Ihre Erweiterung und die Installation gründlich getestet.
- Ihre Dokumentation ist vollständig und korrekt und lässt sich in der Firebase Console problemlos rendern.
- Ihr Name und Ihr Branding als Publisher müssen klar und deutlich erkennbar sein.
- Der Name, die Beschreibung und das Symbol Ihrer Erweiterung müssen den Zweck der Erweiterung klar und präzise darstellen.
- Sie haben hilfreiche und korrekte Tags verwendet.
- Sie haben in
extension.yaml
alle von Ihnen verwendeten APIs von Google und Drittanbietern sowie alle Ereignistypen deklariert, die von Ihrer Erweiterung gesendet werden. - Sie fordern nur Zugriff auf die Rollen an, die für die Funktion der Erweiterung erforderlich sind, und Sie haben den Nutzern genau erklärt, warum Sie einen solchen Zugriff benötigen.
- Ihre Quelldateien sind eindeutig gemäß den Bedingungen von
Apache-2.0
lizenziert.
Hochgeladene und veröffentlichte Erweiterungen verwalten
Liste der hochgeladenen Erweiterungen aufrufen
So rufen Sie die von Ihnen unter Ihrer Publisher-ID hochgeladenen Erweiterungen auf:
Publisher-Dashboard
Sie finden sie im Publisher-Dashboard.
Firebase CLI
Führen Sie den Befehl ext:dev:list
aus:
firebase ext:dev:list your_publisher_id
Nutzung Ihrer hochgeladenen Erweiterungen ansehen
Wenn Sie sich ansehen möchten, wie die Erweiterungen verwendet werden, die Sie unter Ihrer Publisher-ID hochgeladen haben, führen Sie einen der folgenden Schritte aus:
Publisher-Dashboard
Das Publisher-Dashboard enthält kumulative Nutzungsmesswerte für alle Erweiterungen und individuelle Messwerte für jede Erweiterung.
Firebase CLI
Führen Sie den Befehl ext:dev:usage
aus:
firebase ext:dev:usage your_publisher_id
Version einer Erweiterung einstellen
Möglicherweise möchten Sie irgendwann eine alte Version Ihrer Erweiterung einstellen. Wenn Sie beispielsweise eine neue Version veröffentlichen, in der ein kritischer Fehler behoben oder eine Abhängigkeit mit einem wichtigen Sicherheitsupdate aktualisiert wird, ist es wichtig, zu verhindern, dass neue Nutzer eine alte Version installieren, und bestehende Nutzer zum Upgrade anzuregen.
Führen Sie einen der folgenden Schritte aus, um eine Version einer Erweiterung einzustellen:
Publisher-Dashboard
- Klicke im Publisher-Dashboard auf die Erweiterung, um die zugehörige Detailansicht zu öffnen.
- Wählen Sie die Version aus, die Sie einstellen möchten.
- Klicken Sie auf Version einstellen.
Firebase CLI
Führen Sie den Befehl ext:dev:deprecate
aus:
firebase ext:dev:deprecate your_publisher_id/your_extension_id versions \
[--message "deprecation_message"]
Sie können eine einzelne Version oder einen Versionsbereich angeben. Beispiele:
1.0.2
1.1.0-1.1.7
<1.2.0
1.1.*
Verworfene Versionen einer Erweiterung werden nicht im Extensions Hub aufgeführt und können nicht installiert werden. Nutzer, in deren Projekten eine eingestellte Version installiert ist, werden aufgefordert, ein Upgrade durchzuführen. In der Zwischenzeit können sie die Erweiterung weiterhin verwenden und neu konfigurieren.
Wenn alle Versionen einer Erweiterung eingestellt werden, gilt die Erweiterung als eingestellt und wird aus dem Erweiterungs-Hub entfernt. Wenn Sie eine neue Version einer eingestellten Erweiterung hochladen, wird automatisch eine Überprüfung gestartet. Nach der Genehmigung wird die Erweiterung wieder im Extensions Hub veröffentlicht.
Wenn du eine Einstellung rückgängig machen möchtest, verwende das Publisher-Dashboard oder führe den Befehl ext:dev:undeprecate
der Firebase CLI aus:
firebase ext:dev:undeprecate your_publisher_id/your_extension_id versions
Anhang: Fehlerbehebung bei Build-Fehlern
Wenn Sie Ihre Erweiterung hochladen, wird im Backend zuerst Ihr Quellcode mit dem folgenden Verfahren erstellt:
Ihr GitHub-Repository wird geklont und die angegebene Quellreferenz wird herausgecheckt.
Installiert NPM-Abhängigkeiten, indem
npm clean-install
in jedem inextension.yaml
angegebenen Quellverzeichnis der Funktion ausgeführt wird (siehesourceDirectory
in Cloud Functions-Ressourcen).Wichtige Hinweise:
Jede
package.json
-Datei muss einer entsprechendenpackage-lock.json
-Datei zugeordnet sein. Weitere Informationen finden Sie unter npm-ci.Post-Installation-Scripts werden während der Installation von Abhängigkeiten nicht ausgeführt. Wenn Ihr Quellcode-Build auf Scripts nach der Installation angewiesen ist, sollten Sie ihn vor dem Hochladen umstrukturieren.
Erstellt den Code, indem
npm run build
in jedem inextension.yaml
angegebenen Funktionsquellverzeichnis ausgeführt wird.
Im endgültigen Erweiterungspaket, das freigegeben wird, wird nur das Stammverzeichnis Ihrer Erweiterung gespeichert.
Wenn beim Hochladen Ihrer Erweiterung Buildfehler auftreten, wiederholen Sie die oben beschriebenen Buildschritte lokal in einem neuen Verzeichnis, bis keine Fehler mehr auftreten. Versuchen Sie dann noch einmal, die Erweiterung hochzuladen.