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 von anderen Firebase- und Google-Produkten wie Firebase Cloud Messaging, Cloud Firestore oder Pub/Sub aus.

Sie können Ihre eigene Erweiterung für den persönlichen Gebrauch erstellen oder sie im Firebase Extensions Hub mit anderen teilen. 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 mit anderen teilen. 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 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 können.
  • Die Dateien PREINSTALL, POSTINSTALL und CHANGELOG sind die Mindestdokumentation, die Ihre Erweiterung enthalten muss. Diese Dateien helfen Nutzern zu verstehen, was Ihre Erweiterung tut, 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 im Extensions Hub wird der Inhalt dieser Dateien angezeigt, wenn Nutzer Ihre Erweiterung suchen, 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 jedem gefunden und in seine Projekte installiert werden kann.

Mit welchen Produkten kann meine Erweiterung interagieren?

Da eine Firebase-Erweiterung ihre Aufgaben mit Cloud Functions ausführt, 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 dem Auslösen interagieren?

Unterstützte Funktionstrigger

Manuelle Trigger

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

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

Durch das Bereitstellen von HTTP-Endpunkten über Ihre Erweiterung kann diese potenziell in jeden Webdienst eingebunden 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-Diensttrigger

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

  • Analytics:Funktionen auslösen, wenn in Analytics ein Ereignis protokolliert wird
  • App-Bereitstellung:Funktionen auslösen, wenn in der App-Bereitstellung eine Benachrichtigung ausgelöst wird
  • Authentication: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 in Crashlytics eine Benachrichtigung ausgelöst wird
  • Performance Monitoring:Funktionen auslösen, wenn in Performance Monitoring eine Benachrichtigung ausgelöst wird
  • 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 in Test Lab eine Benachrichtigung ausgelöst wird

Google Cloud-Diensttrigger

Eine Erweiterung kann auch Funktionen enthalten, die von mehreren Google Cloud-Diensten 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 nutzen diese Funktion, damit Sie als Autor einer Erweiterung Funktionen schreiben können, die auf die Ereignisse im Lebenszyklus 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 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 mit einer Cloud Functions-Funktion ausführen können:

  • Sie können Daten in jedem Firebase - oder Google Cloud Dienst lesen, schreiben und anderweitig damit interagieren, der eine unterstützte IAM-Rolle verwendet.
  • Sie können mit jedem Drittanbieterdienst arbeiten, der eine Web-API bereitstellt.
  • Sie können mit Ihren benutzerdefinierten Diensten arbeiten, wenn Sie eine Web-API bereitstellen.
  • Sie können die meisten JavaScript-Bibliotheken ausführen, darunter TensorFlow.js und Express.js.

Erweiterung erstellen

In der Anleitung Erste Schritte wird der Prozess zum Erstellen, Testen und Veröffentlichen einer vollständigen Erweiterung beschrieben. Wir empfehlen Ihnen, sich diese Anleitung anzusehen, um zu erfahren, wie Sie eine Erweiterung erstellen.

Jetzt starten

Nachdem Sie die Anleitung Erste Schritte einmal durchgearbeitet haben, können Sie sich die einzelnen Themenleitfäden ansehen, in denen die einzelnen Aufgaben beschrieben werden, die zum Erstellen einer eigenen Erweiterung erforderlich sind: