Auf dieser Seite wird erläutert, wie Sie eine Erweiterung im Extensions Hub veröffentlichen.
Hinweis
Wenn du eine Erweiterung veröffentlichen möchtest, musst du zuerst als Publisher für Erweiterungen registrieren.
Überprüfbare Quellen
Alle im Erweiterungs-Hub veröffentlichten Erweiterungen müssen eine öffentlich nachprüfbare Quelle haben. Anstatt den Quellcode Ihrer Erweiterung direkt in Erweiterungen hochzuladen Hub ist, geben Sie stattdessen den Quellspeicherort an, der dann vom Erweiterungs-Hub heruntergeladen wird. und bauen es dort auf.
Derzeit bedeutet dies, dass der Quellcode Ihrer Erweiterung öffentlich verfügbar ist. GitHub-Repository
Das Hochladen aus einer überprüfbaren Quelle hat mehrere Vorteile:
- Nutzer können den Quellcode der jeweiligen Version der Erweiterung einsehen das installiert wird.
- 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 Firebase Extensions-Entwicklertools unterstützen das Hochladen von Vorabveröffentlichungen Ihrer Erweiterungen, sodass Sie sie und die in derselben Umgebung, in der sie installiert werden, 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 Extensions Hub hoch (siehe unten). Verteilen Sie die Installationslink für umfassendere Tests. Laden Sie weitere Vorabversionen verfügbar.
Laden Sie die endgültige, stabile Version in den Erweiterungs-Hub hoch (siehe unten) und reichen Sie sie ein. überprüfen lassen. Wenn die Erweiterung die Überprüfung besteht, wird sie hier veröffentlicht: Erweiterungs-Hub.
Erhöhen Sie die Versionsnummer in
extension.yaml
und 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: Speichern Sie Ihren Code per Commit an 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 im Befehlsaufruf Folgendes an:
Die Publisher-ID, die Sie registriert haben.
Ein ID-String, mit dem die Erweiterung identifiziert wird. Erweiterungen benennen mit im folgenden Format:
firebase-product-description-of-tasks-performed
Beispiel:firestore-bigquery-export
Der Befehl fordert Sie zur Eingabe weiterer Informationen auf:
Wenn Sie Inhalte von 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, mit dem Sie Ihre Erweiterungsversion erstellen möchten „Quelle“. Dies kann ein Commit-Hash, ein Tag oder ein Zweigname sein.
Die Release-Phase der Version, die Sie hochladen.
Die Phasen
alpha
,beta
undrc
(Releasekandidat) sind für den Upload vorgesehen Vorabversionen, die Tester installieren können. Verwenden Sie eine dieser Phasen für wenn Sie eine neue Erweiterung hochladen.Die Phase
stable
wird für die Veröffentlichung öffentlicher Releases auf Erweiterungs-Hub Wenn Sie einenstable
-Release hochladen, wird automatisch eine Überprüfung gestartet. Wenn diese erfolgreich ist, wird die Erweiterung veröffentlicht.
Beachten Sie, dass Sie keine Versionsnummer angeben. Dieser Wert stammt aus dem
extension.yaml
-Datei. Wenn Sie eine Vorabversion der Erweiterung hochladen, sowie die Upload-Nummer an die Version angehängt werden. Wenn beispielsweiseextension.yaml
gibt Version 1.0.1 an und Sie laden einen Releasekandidaten hoch. würde dies zu der Version1.0.1-rc.0
führen. Weiteren Release hochladen für dieselbe Version automatisch erhöht die Anzahl, was zu1.0.1-rc.1
führt usw.
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 Möglichkeiten:
Über die Konsole: Nutzer können die Erweiterung installieren, indem sie auf einen Link klicken. im folgenden Format:
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 sie übergeben. ID-String für den Befehl
ext:install
: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 voranzutreiben. 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: Führen Sie einen Commit Ihres Codes an ein öffentliches Git-Repository durch.
Führen Sie den Befehl
ext:dev:upload
der Firebase CLI aus:GitHub
firebase ext:dev:upload your_publisher_id/your_extension_id
Diesmal werden Sie nicht aufgefordert, das GitHub-Repository oder den Stammverzeichnis der Erweiterung, da diese bereits für Ihr . Wenn Sie Ihre Repository-Struktur später refaktoriert haben oder in ein neues Repository migriert haben, können Sie sie mit dem Befehl die Argumente
--root
und--repo
.Lokale Quelle
cd /path/to/extension
firebase ext:dev:upload your_publisher_id/your_extension_id --local
Erweiterung zur Veröffentlichung einreichen
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 Veröffentlichungsphase:firebase ext:dev:upload your_publisher_id/your_extension_id
Wenn Sie bereits eine Version der Erweiterung veröffentlicht haben, laden Sie eine neue Bei einem stabilen Release wird die Erweiterung automatisch zur Überprüfung eingereicht.
Wenn Sie die erste stabile Version der Erweiterung hochgeladen haben, suchen Sie die Erweiterung unter Publisher-Dashboard und klicken Sie auf Im Erweiterungs-Hub veröffentlichen.
Die Überprüfung kann einige Tage dauern. Wenn die Frist akzeptiert wird, im Erweiterungs-Hub veröffentlicht. Bei einer Ablehnung wird in einer Nachricht erklärt, Grund; können Sie die gemeldeten Probleme beheben und die Website noch einmal 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 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 korrekt dargestellt.
- Ihr Name und Ihr Branding als Publisher müssen klar und deutlich erkennbar sein.
- Der Name, die Beschreibung und das Symbol Ihrer Erweiterung geben für den Zweck Ihrer Erweiterung.
- Sie haben nützliche und korrekte Tags angewendet.
- Sie haben in
extension.yaml
alle von Ihnen verwendeten Google-APIs und APIs von Drittanbietern deklariert. und alle Ereignistypen, die Ihre Erweiterung ausgibt. - Sie fordern nur Zugriff auf die Rollen an, die für die Erweiterung erforderlich sind. und Sie haben den Nutzenden klar erläutert, warum Sie einen solchen Zugriff benötigen.
- Ihre Quelldateien sind gemäß den Bedingungen von
Apache-2.0
lizenziert.
Hochgeladene und veröffentlichte Erweiterungen verwalten
Liste der hochgeladenen Erweiterungen aufrufen
Führen Sie einen der folgenden Schritte aus, um die Erweiterungen aufzulisten, die Sie unter Ihrer Publisher-ID hochgeladen haben Folgendes:
Publisher-Dashboard
Sie können sie sich im Publisher-Dashboard ansehen.
Firebase CLI
Führen Sie den Befehl ext:dev:list
aus:
firebase ext:dev:list your_publisher_id
Nutzung der hochgeladenen Erweiterungen ansehen
So rufen Sie die Nutzung der Erweiterungen auf, die Sie unter Ihrer Publisher-ID hochgeladen haben:
Publisher-Dashboard
Das Publisher-Dashboard enthält kumulative Nutzungsmesswerte für alle Ihre und einzelne 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. Für Wenn Sie z. B. eine neue Version veröffentlichen, mit der ein kritischer Fehler behoben oder eine von Abhängigkeiten mit einem wichtigen Sicherheitsupdate sind, ist es wichtig, Nutzer daran zu hindern, eine alte Version zu installieren, und um bestehende Nutzer zum Upgraden anzuregen.
Führen Sie einen der folgenden Schritte aus, um eine Version einer Erweiterung einzustellen:
Publisher-Dashboard
- Klicken Sie auf dem Dashboard des Publishers auf die Erweiterung, um die 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.*
Eingestellte Versionen einer Erweiterung sind nicht im Erweiterungs-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 veraltet sind, wird die Erweiterung berücksichtigt. 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 noch einmal im Extensions Hub veröffentlicht.
Wenn Sie eine Einstellung rückgängig machen möchten, verwenden Sie das Publisher-Dashboard oder führen Sie die
Befehl ext:dev:undeprecate
:
firebase ext:dev:undeprecate your_publisher_id/your_extension_id versions
Anhang: Fehlerbehebung bei Build-Fehlern
Wenn Sie Ihre Erweiterung hochladen, erstellt das Backend zuerst den Quellcode mithilfe von den folgenden Prozess:
Klont Ihr GitHub-Repository und prüft die angegebene Quellreferenz.
NPM-Abhängigkeiten installieren, indem in jeder Funktion
npm clean-install
ausgeführt wird Quellverzeichnis, das inextension.yaml
angegeben ist (siehesourceDirectory
in Cloud Functions-Ressourcen).Wichtige Hinweise:
Jede
package.json
-Datei muss eine entsprechendepackage-lock.json
haben -Datei. Weitere Informationen finden Sie unter npm-ci.Skripts nach der Installation werden während der Abhängigkeitsinstallation nicht ausgeführt. Wenn Ihr Quellcode-Build auf Skripts nach der Installation basiert, vor dem Hochladen refaktorieren.
Erstellt Ihren Code, indem Sie
npm run build
in jeder Funktionsquelle ausführen Verzeichnis, das inextension.yaml
angegeben ist.
Nur das Stammverzeichnis der Erweiterung wird in der endgültigen Erweiterung gespeichert Pakets erstellen, das freigegeben wird.
Wenn beim Hochladen der Erweiterung Build-Fehler auftreten, replizieren Sie den Build. lokal in einem neuen Verzeichnis, bis keine Fehler mehr vorliegen, noch einmal hochladen.