Cloud Functions gibt Entwicklern Zugriff auf Firebase- und Google Cloud Ereignisse sowie auf skalierbare Rechenleistung, um Code als Reaktion auf diese Ereignisse auszuführen. Es wird erwartet, dass Firebase-Apps Cloud Functions auf einzigartige Weise verwenden, um ihre individuellen Anforderungen zu erfüllen. Typische Anwendungsfälle lassen sich jedoch in folgende Bereiche einteilen:
- Nutzer benachrichtigen, wenn etwas Interessantes passiert.
- Datenbank bereinigen und warten.
- Intensive Aufgaben in der Cloud anstelle in der App ausführen.
- In Dienste und APIs von Drittanbietern einbinden.
Sehen Sie sich die Anwendungsfälle und Beispiele für jede Kategorie an, die Sie interessiert , und fahren Sie dann mit unserer Anleitung Erste Schritte oder mit bestimmten Anleitungen für Authentifizierungsereignisse, Analytics-Ereignisse und mehr fort.
Nutzer benachrichtigen, wenn etwas Interessantes passiert
Entwickler können mit Cloud Functions Nutzer einbeziehen und sie mit relevanten Informationen zu einer App auf dem Laufenden halten. Nehmen wir beispielsweise eine App, mit der Nutzer die Aktivitäten anderer Nutzer in der App verfolgen können. Jedes Mal, wenn ein Nutzer sich als Follower eines anderen Nutzers hinzufügt, wird in der Realtime Database ein Schreibvorgang ausgeführt. Dieses Schreibereignis kann dann eine Funktion auslösen, um Firebase Cloud Messaging (FCM)-Benachrichtigungen zu erstellen, damit die entsprechenden Nutzer wissen, dass sie neue Follower haben.

- Die Funktion wird bei Schreibvorgängen im Realtime Database Pfad ausgelöst, in dem Follower gespeichert sind.
- Die Funktion erstellt eine Nachricht, die über FCM gesendet werden soll.
- FCM sendet die Benachrichtigung an das Gerät des Nutzers.
Funktionsfähigen Code finden Sie im Beispielcode auf GitHub:
- Node.js: fcm-notifications
- Python: fcm-notifications
Weitere interessante Anwendungsfälle für Benachrichtigungen
- Bestätigungs-E-Mails an Nutzer senden, die einen Newsletter abonnieren.
- Begrüßungs-E-Mail senden, wenn ein Nutzer die Anmeldung abgeschlossen hat.
- SMS-Bestätigung senden, wenn ein Nutzer ein neues Konto erstellt.
Datenbank bereinigen und warten
Mit der Cloud Functions Datenbankereignisverarbeitung können Sie Realtime Database oder Cloud Firestore als Reaktion auf das Nutzerverhalten ändern und so den gewünschten Systemstatus beibehalten. Sie können beispielsweise Schreibereignisse beobachten und das Format bestimmter Strings in den Nachrichten der Nutzer ändern (z. B. in Großbuchstaben). So könnte das funktionieren:

- Der Datenbankereignishandler der Funktion überwacht Schreibereignisse in einem bestimmten Pfad und ruft Ereignisdaten ab, die den Text einer Nachricht enthalten.
- Die Funktion verarbeitet den Text, um Strings in Großbuchstaben zu ändern.
- Die Funktion schreibt den aktualisierten Text zurück in die Datenbank.
Funktionsfähigen Code finden Sie im Beispielcode auf GitHub:
- Node.js: uppercase-rtdb
- Python: uppercase-rtdb
Weitere Anwendungsfälle für die Datenbankbereinigung und ‑wartung
- Inhalte eines gelöschten Nutzers aus Realtime Database entfernen.
- Anzahl der untergeordneten Knoten in einer Firebase-Datenbank begrenzen.
- Anzahl der Elemente in einer Realtime Database Liste verfolgen.
- Daten aus Realtime Database nach Google Cloud BigQuery kopieren.
- Text in Emoji umwandeln.
- Berechnete Metadaten für Datenbankeinträge verwalten.
Intensive Aufgaben in der Cloud anstelle in der App ausführen
Mit Cloud Functions können Sie ressourcenintensive Aufgaben (hohe CPU- oder Netzwerknutzung) an die Google Cloud auslagern, anstatt sie auf dem Gerät eines Nutzers auszuführen. So verbessern Sie die Reaktionsfähigkeit Ihrer App. Sie können beispielsweise eine Funktion schreiben, die auf Bild-Uploads in Cloud Storage wartet, das Bild auf die Instanz herunterlädt, auf der die Funktion ausgeführt wird, es ändert und wieder in Cloud Storage hochlädt. Zu den Änderungen können das Ändern der Größe, das Zuschneiden oder das Konvertieren von Bildern mit Tools wie Sharp oder Pillow gehören.

- Eine Funktion wird ausgelöst, wenn eine Bilddatei in Cloud Storage hochgeladen wird.
- Die Funktion lädt das Bild herunter und erstellt eine Miniaturansicht davon.
- Die Funktion schreibt den Speicherort der Miniaturansicht in die Datenbank, damit eine Client-App sie finden und verwenden kann.
- Die Funktion lädt die Miniaturansicht an einem neuen Speicherort wieder in Cloud Storage hoch.
- Die App lädt den Link zur Miniaturansicht herunter.
Eine Anleitung zu einem Beispiel für die Bildverarbeitung finden Sie im Leitfaden zu handling Cloud Storage events.
Weitere Beispiele für Batchjobs in der Firebase-Cloud
- Nicht verwendete Firebase-Konten regelmäßig löschen Node.js | Python.
- Hochgeladene Bilder automatisch sichern Node.js | Python.
- Massen-E-Mails an Nutzer senden.
- Daten regelmäßig zusammenfassen.
- Warteschlange mit ausstehenden Aufgaben verarbeiten.
In Dienste und APIs von Drittanbietern einbinden
Cloud Functions kann Ihrer App helfen, besser mit anderen Diensten zusammenzuarbeiten, indem Web-APIs aufgerufen und bereitgestellt werden. Beispielsweise könnte eine App, die für die Zusammenarbeit bei der Entwicklung verwendet wird, GitHub-Commits in einen Chatroom posten.

- Ein Nutzer überträgt Commits in ein GitHub-Repository.
- Eine HTTPS-Funktion wird über die GitHub-Webhook-API ausgelöst.
- Die Funktion sendet eine Benachrichtigung über den Commit an einen Slack-Teamkanal.
Weitere Möglichkeiten zur Einbindung in Dienste und APIs von Drittanbietern
- Mit der Google Cloud Vision API hochgeladene Bilder analysieren und taggen.
- Nachrichten mit Google Übersetzer übersetzen.
- Benutzerdefinierte Authentifizierung verwenden, um Nutzer anzumelden.
- Bei Realtime Database Schreibvorgängen eine Anfrage an einen Webhook senden.
- Volltextsuche für Realtime Database Elemente aktivieren.
- Zahlungen von Nutzern verarbeiten.
- Automatische Antworten auf Anrufe und SMS-Nachrichten erstellen.
- Mit Google Assistant einen Chatbot erstellen.