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 Publisher von Erweiterungen registrieren.
Überprüfbare Quellen
Alle im Erweiterungs-Hub veröffentlichten Erweiterungen müssen eine öffentlich überprüfbare Quelle haben. Anstatt den Quellcode Ihrer Erweiterung direkt in den Erweiterungs-Hub hochzuladen, geben Sie die Quelle an. Der Erweiterungs-Hub lädt den Quellcode dann herunter und erstellt ihn.
Derzeit bedeutet dies, dass Sie den Quellcode Ihrer Erweiterung in einem öffentlichen GitHub-Repository zur Verfügung stellen müssen.
Das Hochladen aus einer überprüfbaren Quelle hat mehrere Vorteile:
- Nutzer können den Quellcode der jeweiligen Revision der Erweiterung prüfen, die installiert wird.
- Sie können sicherstellen, dass Sie nur das hochladen, was Sie hochladen möchten, und nicht beispielsweise unfertige Arbeiten oder verwaiste Dateien aus der Entwicklung.
Empfohlener Entwicklungszyklus
Die Entwicklungstools für Firebase Extensions unterstützen das Hochladen von Vorabversionen Ihrer Erweiterungen. So können Sie Ihre Erweiterungen und den Installationsprozess für Erweiterungen in derselben Umgebung testen, in der sie später veröffentlicht werden.
Diese Funktion ermöglicht einen Entwicklungszyklus wie den folgenden:
Entwickeln Sie Ihre Erweiterung mit der Firebase Emulator Suite und führen Sie schnell Iterationen durch.
Testen Sie Ihre Erweiterung in einem echten Projekt, indem Sie sie aus einer lokalen Quelle installieren:
firebase ext:install /path/to/extensionfirebase deploy --only extensionsLaden Sie eine Vorabversion in den Erweiterungs-Hub hoch (siehe unten). Geben Sie den Installationslink für umfassendere Tests frei und führen Sie bei Bedarf weitere Iterationen durch, indem Sie weitere Vorabversionen hochladen.
Laden Sie die endgültige, stabile Version in den 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.yamlund wiederholen Sie diesen Zyklus für die nächste Version Ihrer Erweiterung.
Neue Erweiterung hochladen
So laden Sie eine Erweiterung zum ersten Mal hoch:
Optional: Führen Sie einen Commit für Ihren Code in einem öffentlichen GitHub-Repository durch.
Führen Sie den Befehl
ext:dev:uploadder Firebase CLI aus:GitHub
firebase ext:dev:upload your_publisher_id/your_extension_idLokale Quelle
cd /path/to/extensionfirebase ext:dev:upload your_publisher_id/your_extension_id --localIn Ihrem Befehlsaufruf geben Sie Folgendes an:
Die Publisher-ID, die Sie registriert haben.
Ein ID-String, mit dem die Erweiterung identifiziert wird. Benennen Sie Ihre Erweiterungen mit dem folgenden Format:
firebase-product-description-of-tasks-performed. Beispiel:firestore-bigquery-export
Der Befehl fordert Sie auf, zusätzliche Informationen anzugeben:
Wenn Sie von GitHub hochladen:
Die URL zum Repository der Erweiterung auf GitHub. Ein Repository kann mehrere Erweiterungen enthalten, solange jede Erweiterung ein eindeutiges Stammverzeichnis 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.
Der Git-Verweis des Commits, aus dem Sie die Quelle der Erweiterungsversion erstellen möchten. Dies kann ein Commit-Hash, ein Tag oder ein Zweigname sein.
Die Releasephase der Version, die Sie hochladen.
Die Phasen
alpha,betaundrc(Releasekandidat) sind für das Hochladen von Vorabversionen vorgesehen, die von Testern installiert werden können. Verwenden Sie eine dieser Phasen für den ersten Upload einer neuen Erweiterung.Die Phase
stablewird für öffentliche Releases verwendet, die im Erweiterungs-Hub veröffentlicht werden sollen. Wenn Sie einenstable-Release hochladen, wird automatisch eine Überprüfung gestartet. Wenn die Überprüfung erfolgreich ist, wird die Erweiterung veröffentlicht.
Sie geben keine Versionsnummer an. Dieser Wert stammt aus der Datei
extension.yaml. Wenn Sie eine Vorabversion einer Erweiterung hochladen, werden die Phase und die Uploadnummer an die Version angehängt. Wenn inextension.yamlbeispielsweise Version 1.0.1 angegeben ist und Sie einen Releasekandidaten hochladen, ergibt sich die Version1.0.1-rc.0. Wenn Sie einen weiteren Releasekandidaten derselben Version hochladen, wird die Zählung automatisch erhöht, sodass sich1.0.1-rc.1ergibt usw.
Nachdem Sie eine Vorabversion der Erweiterung hochgeladen haben, können Sie sie für andere zum Testen freigeben. Nutzer können Ihre Erweiterung auf zwei Arten installieren:
Über die Console: Nutzer können die Erweiterung installieren, indem sie auf einen Link im folgenden Format klicken:
https://console.firebase.google.com/project/_/extensions/install?ref=your_publisher_id/your_extension_id@version
Sie können den direkten Link für Ihre Tester freigeben.
Über die CLI: Nutzer können die Erweiterung installieren, indem sie den ID-String der Erweiterung 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 Releasephase zu ändern. Wenn Sie eine neue Version hochladen, werden Nutzer, die eine ältere Version Ihrer Erweiterung installiert haben, in der Firebase Console aufgefordert, ein Upgrade durchzuführen.
So laden Sie ein Update hoch:
Optional: Führen Sie einen Commit für Ihren Code in einem öffentlichen Git-Repository durch.
Führen Sie den Befehl
ext:dev:uploadder Firebase CLI aus:GitHub
firebase ext:dev:upload your_publisher_id/your_extension_idDieses Mal werden Sie nicht aufgefordert, das GitHub-Repository oder das Stammverzeichnis der Erweiterung anzugeben, da diese bereits für Ihre Erweiterung konfiguriert wurden. Wenn Sie Ihre Repository-Struktur seitdem umgestaltet oder zu einem neuen Repository migriert haben, können Sie sie mit den Befehlsargumenten
--rootund--repoändern.Lokale Quelle
cd /path/to/extensionfirebase ext:dev:upload your_publisher_id/your_extension_id --local
Erweiterung zur Veröffentlichung einreichen
Wenn Sie bereit sind, Ihre Erweiterung öffentlich zu veröffentlichen, gehen Sie so vor:
Führen Sie einen Commit für Ihren Code in einem öffentlichen Git-Repository durch. (Für öffentliche Releases erforderlich)
Führen Sie den Befehl
ext:dev:uploadder Firebase CLI aus und geben Siestableals Releasephase an:firebase ext:dev:upload your_publisher_id/your_extension_idWenn Sie bereits eine Version Ihrer Erweiterung veröffentlicht haben, wird die Erweiterung automatisch zur Überprüfung eingereicht, wenn Sie einen neuen stabilen Release hochladen.
Wenn Sie den ersten stabilen Release der Erweiterung hochgeladen haben, suchen Sie die Erweiterung auf Ihrem Publisher-Dashboard, und klicken Sie auf Im Erweiterungs-Hub veröffentlichen.
Nach dem Einreichen kann die Überprüfung einige Tage dauern. Wenn die Erweiterung akzeptiert wird, wird sie im Erweiterungs-Hub veröffentlicht. Wenn sie abgelehnt wird, erhalten Sie eine Nachricht mit der Begründung. Sie können dann die gemeldeten Probleme beheben und die Erweiterung noch einmal zur Überprüfung einreichen.
Um die Überprüfung zu beschleunigen und die Wahrscheinlichkeit zu erhöhen, dass die Erweiterung beim ersten Versuch akzeptiert wird, prüfen Sie vor dem Einreichen Folgendes:
- Sie haben Ihre Erweiterung und den Installationsprozess gründlich getestet.
- Ihre Dokumentation ist vollständig und korrekt und wird in der Firebase Console richtig gerendert.
- Ihr Publisher-Name und Ihr Branding identifizieren Sie klar und deutlich als Publisher.
- Der Name, die Beschreibung und das Symbol Ihrer Erweiterung stellen den Zweck Ihrer Erweiterung klar und deutlich dar.
- Sie haben hilfreiche und korrekte Tags angewendet.
- Sie haben in
extension.yamlalle von Ihnen verwendeten Google- und Nicht-Google-APIs sowie alle Ereignistypen deklariert, die von Ihrer Erweiterung ausgegeben werden. - Sie fordern nur Zugriff auf die Rollen an, die für die Funktion der Erweiterung erforderlich sind, und haben den Nutzern klar erklärt, warum Sie diesen Zugriff benötigen.
- Ihre Quelldateien sind eindeutig unter den Bedingungen von
Apache-2.0lizenziert.
Hochgeladene und veröffentlichte Erweiterungen verwalten
Hochgeladene Erweiterungen auflisten
Führen Sie einen der folgenden Schritte aus, um die Erweiterungen aufzulisten, die Sie unter Ihrer Publisher-ID hochgeladen haben:
Publisher-Dashboard
Sie können sie auf dem Publisher-Dashboard ansehen.
Firebase CLI
Führen Sie den Befehl ext:dev:list aus:
firebase ext:dev:list your_publisher_idNutzung Ihrer hochgeladenen Erweiterungen ansehen
Führen Sie einen der folgenden Schritte aus, um die Nutzung der Erweiterungen anzusehen, die Sie unter Ihrer Publisher-ID hochgeladen haben:
Publisher-Dashboard
Das Publisher-Dashboard enthält kumulative Nutzungsstatistiken für alle Ihre Erweiterungen und individuelle Statistiken für jede Erweiterung.
Firebase CLI
Führen Sie den Befehl ext:dev:usage aus:
firebase ext:dev:usage your_publisher_idVersion einer Erweiterung verwerfen
Es kann vorkommen, dass Sie eine alte Version Ihrer Erweiterung verwerfen möchten. 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 zu einem Upgrade zu bewegen.
Führen Sie einen der folgenden Schritte aus, um eine Version einer Erweiterung zu verwerfen:
Publisher-Dashboard
- Klicken Sie auf dem Publisher-Dashboard auf die Erweiterung, um die Detailansicht zu öffnen.
- Wählen Sie die Version aus, die Sie verwerfen möchten.
- Klicken Sie auf Version verwerfen.
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.21.1.0-1.1.7<1.2.01.1.*
Verworfene Versionen einer Erweiterung werden nicht im Erweiterungs-Hub aufgeführt und können nicht installiert werden. Nutzer, in deren Projekten eine verworfene Version installiert ist, sehen eine Nachricht, in der sie aufgefordert werden, ein Upgrade durchzuführen. Sie können die Erweiterung in der Zwischenzeit weiterhin verwenden und neu konfigurieren.
Wenn alle Versionen einer Erweiterung verworfen wurden, gilt die Erweiterung als verworfen und wird aus dem Erweiterungs-Hub entfernt. Wenn Sie eine neue Version einer verworfenen Erweiterung hochladen, wird automatisch eine Überprüfung gestartet. Nach der Akzeptanz wird die Erweiterung wieder im Erweiterungs-Hub veröffentlicht.
Wenn Sie eine Verwerfung rückgängig machen möchten, verwenden Sie das Publisher-Dashboard oder führen Sie den Befehl ext:dev:undeprecate der Firebase CLI aus:
firebase ext:dev:undeprecate your_publisher_id/your_extension_id versions
Anhang: Build-Fehler beheben
Wenn Sie Ihre Erweiterung hochladen, erstellt das Back-End zuerst Ihren Quellcode. Dabei wird so vorgegangen:
Ihr GitHub-Repository wird geklont und die angegebene Quellreferenz ausgecheckt.
NPM-Abhängigkeiten werden installiert, indem
npm clean-installin jedem Funktions quellverzeichnis ausgeführt wird, das inextension.yamlangegeben ist (siehesourceDirectoryunter Cloud Functions-Ressourcen).Wichtige Hinweise:
Jede
package.json-Datei muss eine entsprechendepackage-lock.jsonDatei haben. Weitere Informationen finden Sie unter npm-ci.Post-Install-Skripts werden bei der Installation von Abhängigkeiten nicht ausgeführt. Wenn Ihr Quellcode-Build auf Post-Install-Skripts basiert, müssen Sie ihn umgestalten, bevor Sie ihn hochladen.
Ihr Code wird erstellt, indem
npm run buildin jedem Funktionsquellverzeichnis ausgeführt wird, das inextension.yamlangegeben ist.
Im endgültigen Erweiterungspaket, das freigegeben wird, wird nur das Stammverzeichnis Ihrer Erweiterung gespeichert.
Wenn beim Hochladen Ihrer Erweiterung Build-Fehler auftreten, reproduzieren Sie die oben genannten Build-Schritte lokal in einem neuen Verzeichnis, bis keine Fehler mehr auftreten. Versuchen Sie dann noch einmal, die Erweiterung hochzuladen.