Erweiterungs-Publisher – Übersicht

Eine Firebase-Erweiterung führt eine bestimmte Aufgabe oder eine Reihe von Aufgaben als Reaktion auf HTTP-Anfragen oder ausgelöste Ereignisse von anderen Firebase- und Google-Produkten aus, z. B. Firebase Cloud Messaging, Cloud Firestore oder Pub/Sub.

Im Firebase Extensions Hub können Sie eigene Erweiterungen für den persönlichen Gebrauch oder zur Veröffentlichung erstellen. Ihre Erweiterung kann beispielsweise eine bestimmte Aufgabe ausführen, die Ihre App regelmäßig benötigt, oder den Zugriff auf eine der APIs Ihres Unternehmens erleichtern. Nachdem Sie die Erweiterung erstellt haben, können Sie sie für andere freigeben. Diese Nutzer können die Erweiterung für die Verwendung in ihren eigenen Firebase-Projekten installieren und konfigurieren.

Struktur einer Erweiterung

Eine Erweiterung besteht aus drei Hauptkomponenten:

  • Cloud Functions-Code in JavaScript oder TypeScript
  • Metadaten, die Ihre Erweiterung beschreiben
  • Dokumentation, die Nutzern bei der Konfiguration und Verwendung Ihrer Erweiterung hilft

Wenn Sie eine Erweiterung entwickeln, stellen Sie diese Komponenten in der folgenden Struktur zusammen:

example-extension
├── functions
│   ├── integration-tests
│   │   ├── extensions
│   │   │   └── example-extension.env
│   │   ├── firebase.json
│   │   └── integration-test.spec.js
│   ├── index.js
│   └── package.json
├── README.md
├── PREINSTALL.md
├── POSTINSTALL.md
├── CHANGELOG.md
├── icon.png
└── extension.yaml
  • Das Verzeichnis functions enthält Ihren Cloud Functions-Code in JavaScript oder TypeScript. Mit diesem Code werden die Aufgaben der Erweiterung als Reaktion auf Ereignisse ausgeführt, die von Firebase- und Google-Diensten ausgelöst werden.
  • Die extension.yaml-Datei enthält Metadaten zu Ihrer Erweiterung, z. B. ihre Trigger und IAM-Zugriffsrollen sowie alle Parameter, die vom Nutzer konfiguriert werden sollen.
  • Die Dateien PREINSTALL, POSTINSTALL und CHANGELOG sind die Mindestanforderungen an die Dokumentation Ihrer Erweiterung. Anhand dieser Dateien erfahren Nutzer, welche Funktionen Ihre Erweiterung hat, wie sie verwendet wird und welche Änderungen Sie vorgenommen haben. Sie sollten auch ein Symbol angeben, damit Nutzer Ihre Erweiterung erkennen können. In der Firebase Console, der Firebase CLI und im Extensions Hub wird der Inhalt dieser Dateien angezeigt, wenn Nutzer Ihre Erweiterung ansehen, installieren und verwalten.

Nachdem Sie die Erweiterung erstellt haben, können Sie sie mit der Firebase CLI in einem Projekt installieren oder im Extensions Hub veröffentlichen, wo sie von allen gefunden und in ihren Projekten installiert werden kann.

Mit welchen Produkten kann meine Erweiterung interagieren?

Da eine Firebase-Erweiterung mit Cloud Functions ausgeführt wird, können Sie die Frage nach möglichen Integrationen auf zwei Arten betrachten: Welche Produkte können die Funktionen meiner Erweiterung auslösen? und Mit welchen Produkten können die Funktionen meiner Erweiterung nach der Auslösung interagieren?

Unterstützte Funktionstrigger

Manuelle Trigger

Zuerst können Sie eine Funktion manuell auslösen. Firebase-Erweiterungen und Cloud Functions unterstützen zwei Möglichkeiten zum manuellen Auslösen von Funktionen:

  • HTTP-Trigger: Funktion an einem HTTP-Endpunkt bereitstellen
  • Aufrufbare Funktionen: Sie können Ihre Cloud Functions direkt über Ihren iOS-, Android- oder Webclientcode mithilfe der Firebase-Client-SDKs aufrufen.

Wenn Sie HTTP-Endpunkte aus Ihrer Erweiterung freigeben, kann sie mit jedem Webdienst integriert werden, der Webhooks unterstützt. Mit aufrufbaren Funktionen können Nutzer, die Ihre Erweiterung installieren, die Firebase SDKs als Clientbibliothek verwenden, um auf die von Ihrer Erweiterung implementierte API zuzugreifen.

Firebase-Diensttrigger

Die meisten Firebase-Produkte senden Ereignisse, die die Cloud Functions einer Erweiterung auslösen können.

  • Analytics:Funktionen auslösen, wenn in Analytics ein Ereignis protokolliert wird
  • App-Bereitstellung:Funktionen auslösen, wenn die App-Bereitstellung eine Benachrichtigung auslöst
  • Authentifizierung:Funktionen auslösen, wenn Nutzer Konten erstellen und löschen
  • Cloud Firestore:Funktionen auslösen, wenn Seiten erstellt, aktualisiert oder gelöscht werden
  • Cloud Storage: Funktionen werden ausgelöst, wenn Objekte in Bucket hochgeladen, archiviert oder daraus gelöscht werden.
  • Crashlytics:Funktionen auslösen, wenn Crashlytics eine Benachrichtigung auslöst
  • Leistungsüberwachung:Funktionen auslösen, wenn die Leistungsüberwachung eine Benachrichtigung auslöst
  • Echtzeitdatenbank:Funktionen werden ausgelöst, wenn Daten erstellt, aktualisiert oder gelöscht werden.
  • Remote Config:Funktionen auslösen, wenn ein Parameter aktualisiert wird
  • Test Lab:Funktionen auslösen, wenn Test Lab eine Benachrichtigung auslöst

Google Cloud-Diensttrigger

Eine Erweiterung kann auch Funktionen enthalten, die mehrere Google Cloud-Dienste auslösen, die nicht zu Firebase gehören:

  • Cloud Pub/Sub: Eine Erweiterung kann Funktionen enthalten, die ausgelöst werden, wenn Ereignisse in einem konfigurierbaren Pub/Sub-Thema gepostet werden.
  • Cloud Scheduler: Eine Erweiterung kann Funktionen enthalten, die nach einem festgelegten Zeitplan ausgeführt werden.
  • Cloud Tasks: Eine Erweiterung kann Funktionen enthalten, die über Cloud Tasks in eine Warteschlange gestellt werden können. Mit dieser Funktion können Sie als Entwickler von Firebase-Erweiterungen Funktionen schreiben, die auf die Lebenszyklusereignisse einer Erweiterung reagieren: die Erstinstallation in einem Projekt, das Upgrade auf eine neue Version und die Neukonfiguration.
  • Eventarc: Eine Erweiterung kann Funktionen enthalten, die ausgelöst werden, wenn Ereignisse in einem konfigurierbaren Eventarc-Kanal veröffentlicht werden. Umgekehrt kann eine Erweiterung eigene Ereignisse in einem Eventarc-Kanal veröffentlichen, damit Nutzer eigene Funktionen definieren können, die durch Ereignisse einer Erweiterung ausgelöst werden.

Von Funktionen unterstützt

Sobald die Cloud-Funktion einer Erweiterung ausgelöst wurde, ist die Bandbreite der möglichen Integrationen im Allgemeinen offen. Hier sind einige Beispiele für die Möglichkeiten, die sich mit einer Cloud-Funktion bieten:

  • Lesen, schreiben und anderweitig mit allen Firebase- oder Google Cloud-Diensten interagieren, die eine unterstützte IAM-Rolle verwenden.
  • Mit jedem Drittanbieterdienst arbeiten, der eine Web-API bereitstellt
  • Wenn Sie eine Web-API bereitstellen, arbeiten Sie mit Ihren benutzerdefinierten Diensten.
  • Die meisten JavaScript-Bibliotheken ausführen, einschließlich TensorFlow.js, Express.js usw.

Erweiterungen erstellen

Im Einstiegsleitfaden wird beschrieben, wie Sie eine vollständige Erweiterung erstellen, testen und veröffentlichen. Dies ist die empfohlene Methode, um zu lernen, wie Sie eine Erweiterung erstellen.

Jetzt starten

Nachdem Sie den Leitfaden zum Einstieg durchgelesen haben, können Sie die einzelnen Themenleitfäden aufrufen, in denen die einzelnen Aufgaben beim Erstellen einer eigenen Erweiterung erläutert werden: