Eine Firebase-Erweiterung führt eine bestimmte Aufgabe oder eine Reihe von Aufgaben als Reaktion auf HTTP-Anfragen oder das Auslösen von Ereignissen von anderen Firebase- und Google-Produkten wie 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. Beispielsweise kann Ihre Erweiterung eine bestimmte die deine App regelmäßig benötigt, oder sie erleichtert den Zugriff die APIs Ihres Unternehmens. Nachdem Sie Ihre Erweiterung erstellt haben, können Sie sie mit andere. 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 zur Konfiguration und Verwendung Ihrer Erweiterung
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. Dieser Code führt die Aufgaben der Erweiterung in Reaktion auf Ereignisse, 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
undCHANGELOG
sind die Mindestanforderungen an die Dokumentation Ihrer Erweiterung. Mithilfe dieser Dateien lernen Ihre Nutzer, welche Funktion die Erweiterung bietet, wie sie verwendet wird und welche Aktualisierungen Sie vorgenommen haben. Sie sollten auch ein Symbol angeben, damit Nutzer Ihre Erweiterung erkennen können. Die In der Firebase Console, der Firebase CLI und Extensions Hub werden die Inhalte der wenn Nutzer Ihre Erweiterung erkunden, installieren und verwalten.
Nachdem Sie die Erweiterung erstellt haben, können Sie sie mit der Firebase CLI installieren. in einem Projekt erstellen oder im Erweiterungs-Hub veröffentlichen. und es in ihren Projekten installieren.
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 Extensions und Cloud Funktionen unterstützen zwei Möglichkeiten zum manuellen Auslösen von Funktionen:
- HTTP-Trigger: Funktion auf einem HTTP-Endpunkt bereitstellen
- Aufrufbare Funktionen: Cloud Functions-Funktionen direkt über Ihr iOS-Gerät aufrufen, Android- oder Webclientcode unter Verwendung der Firebase Client SDKs.
Durch die Bereitstellung von HTTP-Endpunkten über Ihre Erweiterung kann Ihre Erweiterung potenziell können in alle Webdienste eingebunden werden, die Webhooks unterstützen. Bei aufrufbaren Funktionen Nutzer, die die Erweiterung installieren, können die Firebase SDKs als Clientbibliothek verwenden für den Zugriff auf die von Ihrer Erweiterung implementierte API.
Firebase-Dienst-Trigger
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 können ausgelöst werden, wenn durch die App-Bereitstellung ein Warnung
- Authentifizierung:Funktionen werden ausgelöst, 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 hochgeladen, archiviert oder aus Buckets gelöscht
- Crashlytics:Funktionen auslösen, wenn Crashlytics eine Benachrichtigung auslöst
- Leistungsüberwachung: Funktionen auslösen, wenn die Leistungsüberwachung eine Benachrichtigung auslöst
- Echtzeitdatenbank: Lösen Sie Funktionen aus, wenn Daten erstellt, aktualisiert oder gelöscht
- Remote Config:Funktionen auslösen, wenn ein Parameter aktualisiert wird
- Test Lab:Funktionen auslösen, wenn Test Lab eine Benachrichtigung auslöst
Trigger für Google Cloud-Dienste
Eine Erweiterung kann auch Funktionen enthalten, die mehrere Nicht-Firebase- Google Cloud-Dienste:
- Cloud Pub/Sub: Eine Erweiterung kann Funktionen enthalten, die ausgelöst werden, wenn werden an ein konfigurierbares Pub/Sub-Thema gesendet.
- Cloud Scheduler: Eine Erweiterung kann Funktionen enthalten, die in einer Gruppe ausgeführt werden. Zeitplan
- Cloud Tasks: Eine Erweiterung kann Funktionen enthalten, die mithilfe von Cloud Tasks Firebase Extensions nutzt diese Funktion, damit Sie als Autor einer Erweiterung, Funktionen schreiben, die auf den "Lebenszyklus" einer Erweiterung reagieren Ereignisse: Erstmalige Installation in einem Projekt, Upgrade auf ein und wird neu konfiguriert.
- Eventarc: Eine Erweiterung kann Funktionen enthalten, die ausgelöst werden, wenn Ereignisse ausgelöst werden. in einem konfigurierbaren Eventarc-Kanal veröffentlicht werden; Umgekehrt kann eine Erweiterung eigene Ereignisse in einem Eventarc-Kanal veröffentlichen, damit Nutzer um eigene Funktionen zu definieren, die durch Ereignisse einer Erweiterung ausgelöst werden.
Von Funktionen unterstützt
Sobald die Cloud Functions-Funktion einer Erweiterung ausgelöst wurde, Integrationen sind in der Regel offen. Hier sind einige Vorteile, die Sie mit einer Cloud Functions-Funktion:
- Firebase oder Google Cloud lesen, schreiben und anderweitig mit ihnen interagieren der eine unterstützte IAM-Rolle.
- Mit jedem Drittanbieterdienst arbeiten, der eine Web-API bereitstellt
- Wenn Sie eine Web-API bereitstellen, können Sie mit Ihren benutzerdefinierten Diensten arbeiten.
- Sie können die meisten JavaScript-Bibliotheken ausführen, einschließlich TensorFlow.js, Express.js, und so weiter.
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.
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:
- Funktionen für eine Erweiterung schreiben
- Parameter in einer Erweiterung verwenden
- Geeigneten Zugriff für eine Erweiterung einrichten
- Auf Lebenszyklus-Ereignisse von Erweiterungen reagieren
- Nutzer-Hooks zu einer Erweiterung hinzufügen
- Nutzerdokumentation für Ihre Erweiterung erstellen
- Erweiterung im Erweiterungs-Hub veröffentlichen
- Vollständige Referenz zu „extension.yaml“