Erweiterungs-Publisher – Übersicht

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

Sie können eigene Erweiterungen für den persönlichen Gebrauch oder zum Teilen mit anderen im Firebase Extensions Hub 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 Ihre Erweiterung erstellt haben, können Sie sie für andere freigeben. Diese Nutzer können die Erweiterung installieren und für die Verwendung in ihren eigenen Firebase-Projekten konfigurieren.

Struktur einer Erweiterung

Eine Erweiterung besteht aus drei Hauptkomponenten:

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

Um eine Erweiterung zu entwickeln, fügen 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. Dieser Code führt die Aufgaben der Erweiterung als Reaktion auf Ereignisse aus, die von Firebase- und Google-Diensten ausgelöst werden.
  • Die Datei extension.yaml enthält Metadaten zu Ihrer Erweiterung, z. B. die Trigger und IAM-Zugriffsrollen sowie alle Parameter, die vom Nutzer konfiguriert werden sollen.
  • Die Dateien PREINSTALL, POSTINSTALL und CHANGELOG sind die Mindestdokumentation, die für Ihre Erweiterung erforderlich ist. Mithilfe dieser Dateien können Nutzer erfahren, was Ihre Erweiterung macht, wie sie verwendet wird und welche Aktualisierungen Sie vorgenommen haben. Sie sollten auch ein Symbol bereitstellen, damit Nutzer Ihre Erweiterung erkennen können. In der Firebase Console, der Firebase CLI und dem Extensions Hub werden die Inhalte dieser Dateien angezeigt, wenn Nutzer Ihre Erweiterung aufrufen, installieren und verwalten.

Nachdem Sie Ihre Erweiterung erstellt haben, können Sie sie mit der Firebase CLI in einem Projekt installieren oder im Extensions Hub veröffentlichen, wo sie von anderen Nutzern gefunden und in ihre Projekte installiert werden kann.

Mit welchen Produkten kann meine Erweiterung interagieren?

Da eine Firebase-Erweiterung ihre Arbeit mit Cloud Functions erledigt, 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 interagieren, wenn sie ausgelöst werden?

Unterstützte Funktionstrigger

Manuelle Trigger

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

  • HTTP-Trigger: Funktion an einem HTTP-Endpunkt bereitstellen
  • Aufrufbare Funktionen: Rufen Sie Ihre Cloud Functions-Funktionen direkt über Ihren iOS-, Android- oder Webclient-Code mit den Firebase-Client-SDKs auf.

Wenn Sie HTTP-Endpunkte über Ihre Erweiterung bereitstellen, kann sie potenziell in jeden Webdienst integriert werden, der Webhooks unterstützt. Mit aufrufbaren Funktionen können Nutzer, die Ihre Erweiterung installieren, die Firebase SDKs als Clientbibliothek für den Zugriff auf die API verwenden, die von Ihrer Erweiterung implementiert wird.

Firebase-Dienst-Trigger

Die meisten Firebase-Produkte geben Ereignisse aus, 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 durch die App-Bereitstellung eine Benachrichtigung ausgelöst wird
  • 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 auslösen, wenn Objekte in Buckets hochgeladen, archiviert oder gelöscht werden
  • Crashlytics:Funktionen auslösen, wenn Crashlytics eine Benachrichtigung auslöst
  • Performance Monitoring:Funktionen auslösen, wenn Performance Monitoring eine Benachrichtigung auslöst
  • Realtime Database:Funktionen auslösen, 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-Dienst-Trigger

Eine Erweiterung kann auch Funktionen enthalten, die durch mehrere Google Cloud-Dienste ausgelöst werden, 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 veröffentlicht werden.
  • Cloud Scheduler: Eine Erweiterung kann Funktionen enthalten, die nach einem festgelegten Zeitplan ausgeführt werden.
  • Cloud Tasks: Eine Erweiterung kann Funktionen enthalten, die mit Cloud Tasks in die Warteschlange gestellt werden können. Firebase Extensions nutzt diese Funktion, damit Sie als Autor einer Erweiterung Funktionen schreiben können, die auf die „Lebenszyklus“-Ereignisse einer Erweiterung reagieren: die erstmalige Installation 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.

Unterstützte FROM-Funktionen

Sobald die Cloud Functions-Funktion einer Erweiterung ausgelöst wurde, sind die Möglichkeiten für Integrationen im Allgemeinen unbegrenzt. Hier einige Beispiele für Aktionen, die Sie über eine Cloud-Funktion ausführen können:

  • Daten in Firebase- oder Google Cloud-Diensten, die eine unterstützte IAM-Rolle verwenden, lesen, schreiben oder auf andere Weise mit ihnen interagieren.
  • Mit jedem Drittanbieterdienst arbeiten, der eine Web-API bereitstellt.
  • Benutzerdefinierte Dienste verwenden, wenn Sie eine Web-API bereitstellen
  • Die meisten JavaScript-Bibliotheken ausführen, einschließlich TensorFlow.js und Express.js.

Erweiterung erstellen

Im Erste Schritte-Tutorial wird der Prozess zum Erstellen, Testen und Veröffentlichen einer vollständigen Erweiterung beschrieben. Es ist die empfohlene Methode, um zu lernen, wie man eine Erweiterung erstellt.

Jetzt starten

Nachdem Sie den Startleitfaden einmal durchgearbeitet haben, können Sie die einzelnen Themenleitfäden aufrufen, in denen die einzelnen Aufgaben beschrieben werden, die beim Erstellen einer eigenen Erweiterung anfallen: