Auf dieser Seite wird erläutert, wie Sie eine Erweiterung auf Extensions Hub veröffentlichen können.
Bevor Sie beginnen
Um eine Erweiterung zu veröffentlichen, müssen Sie sich zunächst als Erweiterungsherausgeber registrieren .
Überprüfbare Quellen
Alle auf Extensions Hub veröffentlichten Erweiterungen müssen eine öffentlich überprüfbare Quelle haben. Anstatt den Quellcode Ihrer Erweiterung direkt auf Extensions Hub hochzuladen, geben Sie stattdessen den Quellspeicherort an und Extension Hub lädt ihn herunter und erstellt ihn von dort aus.
Derzeit bedeutet dies, dass Sie den Quellcode Ihrer Erweiterung in einem öffentlichen GitHub-Repository verfügbar machen.
Das Hochladen von einer überprüfbaren Quelle hat mehrere Vorteile:
- Benutzer können den Quellcode der spezifischen Revision der zu installierenden Erweiterung einsehen.
- Sie können sicherstellen, dass Sie nur das hochladen, was Sie hochladen möchten, und nicht beispielsweise laufende Arbeiten oder vereinzelte Dateien, die von der Entwicklung übrig geblieben sind.
Empfohlener Entwicklungszyklus
Die Entwicklungstools von Firebase Extensions unterstützen das Hochladen von Vorabversionen Ihrer Erweiterungen, sodass Sie Ihre Erweiterungen und den Erweiterungsinstallationsprozess ganz einfach in derselben Umgebung testen können, in der sie schließlich veröffentlicht werden.
Diese Fähigkeit ermöglicht einen Entwicklungszyklus wie den folgenden:
Entwickeln Sie Ihre Erweiterung und iterieren Sie sie schnell mit der Firebase Emulator Suite .
Testen Sie Ihre Erweiterung in einem echten Projekt, indem Sie sie von einer lokalen Quelle installieren:
firebase ext:install /path/to/extension
firebase deploy --only extensions
Laden Sie eine Vorabversion auf Extensions Hub hoch (siehe unten). Verteilen Sie den Installationslink für umfassendere Tests und laden Sie bei Bedarf weitere Vorabversionen hoch.
Laden Sie die endgültige, stabile Version auf Extensions Hub hoch (siehe unten) und reichen Sie sie zur Überprüfung ein. Wenn die Erweiterung die Prüfung besteht, wird sie im Extension Hub veröffentlicht.
Erhöhen Sie die Versionsnummer in
extension.yaml
und wiederholen Sie diesen Zyklus für die nächste Version Ihrer Erweiterung.
Laden Sie eine neue Erweiterung hoch
So laden Sie eine Erweiterung zum ersten Mal hoch:
Optional : Übertragen 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
In Ihrem Befehlsaufruf geben Sie Folgendes an:
Die von Ihnen registrierte Herausgeber-ID.
Eine ID-Zeichenfolge, die die Erweiterung identifiziert. Benennen Sie Ihre Erweiterungen im folgenden Format:
firebase-product - description-of-tasks-performed
. Beispiel:firestore-bigquery-export
Der Befehl fordert Sie zur Eingabe zusätzlicher Informationen auf:
Wenn Sie von GitHub hochladen:
Die URL zum Repository der Erweiterung in GitHub. Beachten Sie, dass ein Repository mehrere Erweiterungen enthalten kann, solange jede Erweiterung über ein eindeutiges Stammverzeichnis verfügt.
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 Ihre Erweiterungsversionsquelle erstellen möchten. Dies kann ein Commit-Hash, ein Tag oder ein Zweigname sein.
Die Veröffentlichungsphase der Version, die Sie hochladen.
Die Phasen
alpha
,beta
undrc
(Release Candidate) dienen zum Hochladen von Vorabversionen, die Tester installieren können. Verwenden Sie eine dieser Phasen für den ersten Upload einer neuen Erweiterung.Die
stable
Phase wird für öffentliche Versionen verwendet, die auf Extensions Hub veröffentlicht werden sollen. Durch das Hochladen einerstable
Version wird automatisch eine Überprüfung eingeleitet. Wenn diese erfolgreich ist, 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 die Stufen- und Upload-Nummer an die Version angehängt. Wennextension.yaml
beispielsweise Version 1.0.1 angibt und Sie einen Release Candidate hochladen, würde dies zu Version1.0.1-rc.0
führen; Das Hochladen eines anderen Release Candidate derselben Version würde die Anzahl automatisch erhöhen, was zu1.0.1-rc.1
und so weiter führt.
Nachdem Sie nun eine Vorabversion der Erweiterung hochgeladen haben, können Sie sie zum Testen mit anderen teilen. Benutzer können Ihre Erweiterung auf zwei Arten installieren:
Mit der Konsole : Benutzer 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 mit Ihren Testern teilen.
Mit der CLI : Benutzer können die Erweiterung installieren, indem sie die Erweiterungs-ID-Zeichenfolge an den Befehl
ext:install
übergeben:firebase ext:install your_publisher_id/your_extension_id@version \ --project=destination_project_id
Laden Sie eine aktualisierte Version hoch
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 voranzutreiben. Wenn Sie eine neue Version hochladen, werden Benutzer, die eine ältere Version Ihrer Erweiterung installiert haben, in der Firebase-Konsole zum Upgrade aufgefordert.
So laden Sie ein Update hoch:
Optional : Übertragen Sie Ihren Code in ein öffentliches 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 diese bereits für Ihre Erweiterung konfiguriert wurden. Wenn Sie Ihre Repository-Struktur inzwischen umgestaltet oder auf ein neues Repository migriert haben, können Sie diese mit den Befehlsargumenten
--root
und--repo
ändern.Lokale Quelle
cd /path/to/extension
firebase ext:dev:upload your_publisher_id/your_extension_id --local
Reichen Sie eine Erweiterung zur Veröffentlichung ein
Wenn Sie bereit sind, Ihre Erweiterung öffentlich zu veröffentlichen:
Übertragen Sie Ihren Code in ein öffentliches Git-Repository. (Erforderlich für öffentliche Veröffentlichungen.)
Führen Sie den Befehl
ext:dev:upload
der Firebase-CLI aus und geben Siestable
als Release-Stufe an:firebase ext:dev:upload your_publisher_id/your_extension_id
Wenn Sie zuvor 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 die Erweiterung in Ihrem Publisher-Dashboard und klicken Sie auf Im Erweiterungs-Hub veröffentlichen .
Nach der Übermittlung kann die Überprüfung einige Tage dauern. Bei Annahme wird die Erweiterung im Extensions Hub veröffentlicht. Bei einer Ablehnung erhalten Sie eine Nachricht mit einer Begründung; Anschließend können Sie die gemeldeten Probleme beheben und erneut zur Überprüfung einreichen.
Um die Überprüfung zu beschleunigen und Ihre Chancen zu erhöhen, beim ersten Versuch zu bestehen, überprüfen Sie vor dem Absenden noch einmal Folgendes:
- Sie haben Ihre Erweiterung und den Installationsprozess gründlich getestet.
- Ihre Dokumentation ist vollständig und korrekt und wird in der Firebase-Konsole gut dargestellt.
- Ihr Herausgebername und Ihr Branding weisen Sie eindeutig und genau als Herausgeber aus.
- Der Name, die Beschreibung und das Symbol Ihrer Erweiterung geben den Zweck Ihrer Erweiterung klar und genau wieder.
- Sie haben hilfreiche und genaue Tags angewendet.
- Sie haben in
extension.yaml
alle von Ihnen verwendeten Google- und Nicht-Google-APIs sowie alle von Ihrer Erweiterung ausgegebenen Ereignistypen deklariert. - Sie fordern nur Zugriff auf die Rollen an, die für die Funktion der Erweiterung erforderlich sind, und Sie haben den Benutzern klar erklärt, warum Sie diesen Zugriff benötigen.
- Ihre Quelldateien unterliegen eindeutig den Bedingungen von
Apache-2.0
.
Verwalten Sie hochgeladene und veröffentlichte Erweiterungen
Listen Sie Ihre hochgeladenen Erweiterungen auf
Führen Sie einen der folgenden Schritte aus, um die Erweiterungen aufzulisten, die Sie unter Ihrer Publisher-ID hochgeladen haben:
Publisher-Dashboard
Sehen Sie sie sich im Publisher-Dashboard an.
Firebase-CLI
Führen Sie den Befehl ext:dev:list
aus:
firebase ext:dev:list your_publisher_id
Sehen Sie sich die Nutzung Ihrer hochgeladenen Erweiterungen an
Um die Nutzung der Erweiterungen anzuzeigen, die Sie unter Ihrer Publisher-ID hochgeladen haben, führen Sie einen der folgenden Schritte aus:
Publisher-Dashboard
Das Publisher-Dashboard verfügt über kumulative Nutzungsmetriken für alle Ihre Erweiterungen und individuelle Metriken für jede Erweiterung.
Firebase-CLI
Führen Sie den Befehl ext:dev:usage
aus:
firebase ext:dev:usage your_publisher_id
Eine Version einer Erweiterung verwerfen
Irgendwann möchten Sie möglicherweise eine alte Version Ihrer Erweiterung verwerfen. Wenn Sie beispielsweise eine neue Version veröffentlichen, die einen kritischen Fehler behebt oder eine Abhängigkeit mit einem wichtigen Sicherheitsupdate aktualisiert, ist es wichtig, neue Benutzer daran zu hindern, eine alte Version zu installieren, und bestehende Benutzer zum Upgrade zu ermutigen.
Um eine Version einer Erweiterung abzulehnen, führen Sie einen der folgenden Schritte aus:
Publisher-Dashboard
- Klicken Sie im Publisher-Dashboard auf die Erweiterung, um deren Detailansicht zu öffnen.
- Wählen Sie die Version aus, die Sie verwerfen möchten.
- Klicken Sie auf Veraltete Version .
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.*
Veraltete Versionen einer Erweiterung werden nicht im Extensions Hub aufgeführt und können nicht installiert werden. Benutzern, deren Projekte eine veraltete Version installiert haben, wird eine Meldung angezeigt, die sie zum Upgrade auffordert. Sie können die Erweiterung in der Zwischenzeit weiterhin verwenden und neu konfigurieren.
Wenn jede Version einer Erweiterung veraltet ist, gilt die Erweiterung als veraltet und wird aus dem Extensions Hub entfernt. Durch das Hochladen einer neuen Version einer veralteten Erweiterung wird automatisch eine Überprüfung eingeleitet und diese nach Annahme erneut auf Extensions Hub veröffentlicht.
Um eine veraltete Version rückgängig zu machen, verwenden Sie das Publisher-Dashboard oder führen Sie den ext:dev:undeprecate
-Befehl der Firebase-CLI aus:
firebase ext:dev:undeprecate your_publisher_id/your_extension_id versions
Anhang: Fehlerbehebung bei Buildfehlern
Wenn Sie Ihre Erweiterung hochladen, erstellt das Backend zunächst Ihren Quellcode mithilfe des folgenden Prozesses:
Klont Ihr GitHub-Repository und checkt die angegebene Quellreferenz aus.
Installiert NPM-Abhängigkeiten, indem
npm clean-install
in jedem inextension.yaml
angegebenen Funktionsquellverzeichnis ausgeführt wird (siehesourceDirectory
in Cloud Function resources ).Beachte das Folgende:
Jede
package.json
Datei muss über eine entsprechendepackage-lock.json
-Datei verfügen. Weitere Informationen finden Sie unter npm-ci .Nachinstallationsskripts werden während der Abhängigkeitsinstallation nicht ausgeführt. Wenn Ihr Quellcode-Build auf Post-Install-Skripten basiert, überarbeiten Sie ihn vor dem Hochladen.
Erstellt Ihren Code durch Ausführen von
npm run build
in jedem inextension.yaml
angegebenen Funktionsquellverzeichnis.
Nur das Stammverzeichnis Ihrer Erweiterung wird im endgültigen Erweiterungspaket gespeichert, das freigegeben wird.
Wenn beim Hochladen Ihrer Erweiterung Build-Fehler auftreten, replizieren Sie die oben genannten Build-Schritte lokal in einem neuen Verzeichnis, bis keine Fehler mehr auftreten, und versuchen Sie dann erneut, sie hochzuladen.