Cloud Functions bietet Entwicklern Zugriff auf Firebase- und Google Cloud-Ereignisse sowie skalierbare Rechenleistung, um Code als Reaktion auf diese Ereignisse auszuführen. Es ist zwar davon auszugehen, dass Firebase-Apps Cloud Functions auf einzigartige Weise verwenden, um ihre individuellen Anforderungen zu erfüllen, aber typische Anwendungsfälle können in diese Bereiche fallen:
- Nutzer benachrichtigen, wenn etwas Interessantes passiert
- Datenbankbereinigung und ‑wartung ausführen
- Ausführung intensiver Aufgaben in der Cloud anstelle in Ihrer App
- Einbindung in Dienste und APIs von Drittanbietern
Sehen Sie sich die Anwendungsfälle und Beispiele für jede Kategorie an, die Sie interessiert, und fahren Sie dann mit unserem Einstiegsleitfaden oder mit den speziellen Anleitungen für Authentifizierungsereignisse, Analyseereignisse und mehr fort.
Nutzer benachrichtigen, wenn etwas Interessantes passiert
Entwickler können Cloud Functions verwenden, um Nutzer zu binden und sie mit relevanten Informationen zu einer App auf dem Laufenden zu halten. Stellen Sie sich beispielsweise eine App vor, mit der Nutzer die Aktivitäten anderer Nutzer in der App verfolgen können. Jedes Mal, wenn ein Nutzer sich selbst als Follower eines anderen Nutzers hinzufügt, wird in Cloud Functions ein Schreibvorgang ausgeführt.Realtime Database Dieses Schreibereignis könnte dann eine Funktion auslösen, um Firebase Cloud Messaging-Benachrichtigungen (FCM) zu erstellen, damit die entsprechenden Nutzer wissen, dass sie neue Follower gewonnen haben.
- Die Funktion wird bei Schreibvorgängen im Pfad Realtime Database ausgelöst, in dem die Follower gespeichert sind.
- Die Funktion verfasst eine Nachricht, die über FCM gesendet wird.
- FCM sendet die Benachrichtigungsnachricht an das Gerät des Nutzers.
Funktionierenden Code finden Sie im Beispielcode auf GitHub:
- Node.js: fcm-notifications
- Python: fcm-notifications
Weitere interessante Anwendungsfälle für Benachrichtigungen
- Senden Sie Bestätigungs-E-Mails an Nutzer, die sich für einen Newsletter anmelden.
- Senden Sie eine Begrüßungs-E-Mail, wenn ein Nutzer die Registrierung abgeschlossen hat.
- Senden Sie eine SMS-Bestätigung, wenn ein Nutzer ein neues Konto erstellt.
Datenbankbereinigung und ‑wartung ausführen
Mit der Cloud Functions-Datenbankereignisbehandlung können Sie Realtime Database oder Cloud Firestore als Reaktion auf das Nutzerverhalten ändern und das System im gewünschten Status halten. Sie können beispielsweise Schreibereignisse überwachen und das Format bestimmter Strings in den Nachrichten der Nutzer ändern (z. B. in Großbuchstaben). So könnte das funktionieren:
- Der Datenbank-Ereignis-Handler der Funktion überwacht Schreibereignisse an 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.
Funktionierenden Code finden Sie im Beispielcode auf GitHub:
- Node.js: uppercase-rtdb
- Python: uppercase-rtdb
Weitere Anwendungsfälle für die Bereinigung und Wartung von Datenbanken
- Inhalte eines gelöschten Nutzers aus Realtime Database entfernen
- Begrenzen Sie die Anzahl der untergeordneten Knoten in einer Firebase-Datenbank.
- Anzahl der Elemente in einer Realtime Database-Liste erfassen
- Kopieren Sie Daten aus Realtime Database in Google Cloud BigQuery.
- Text in Emojis umwandeln
- Berechnete Metadaten für Datenbankeinträge verwalten
Ressourcenintensive Aufgaben in der Cloud statt in Ihrer App ausführen
Mit Cloud Functions können Sie ressourcenintensive Aufgaben (hohe CPU- oder Netzwerkauslastung) in die Google Cloud auslagern, anstatt sie auf dem Gerät eines Nutzers auszuführen. So lässt sich die Reaktionsfähigkeit Ihrer App verbessern. Sie können beispielsweise eine Funktion schreiben, die auf Bilduploads zu Cloud Storage wartet, das Bild auf die Instanz herunterlädt, auf der die Funktion ausgeführt wird, es ändert und wieder auf Cloud Storage hochlädt. Sie können die Größe ändern, Bilder zuschneiden oder mit Tools wie sharp oder Pillow konvertieren.
- 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 diesen Thumbnail-Speicherort in die Datenbank, damit eine Client-App ihn finden und verwenden kann.
- Die Funktion lädt das Thumbnail an einen neuen Speicherort in Cloud Storage hoch.
- Die App lädt den Thumbnail-Link herunter.
Eine Schritt-für-Schritt-Anleitung für ein Beispiel zur Bildverarbeitung findest du im Leitfaden zum Verarbeiten von Cloud Storage-Ereignissen.
Weitere Beispiele für Batchjobs in der Firebase-Cloud
- Löschen Sie regelmäßig nicht verwendete Firebase-Konten Node.js | Python.
- Hochgeladene Bilder automatisch sichern Node.js | Python
- Bulk-E-Mails an Nutzer senden.
- Daten regelmäßig zusammenfassen.
- Warteschlange mit ausstehenden Aufgaben verarbeiten
Einbindung in Dienste und APIs von Drittanbietern
Cloud Functions kann dazu beitragen, dass Ihre App besser mit anderen Diensten funktioniert, indem Web-APIs aufgerufen und bereitgestellt werden. Eine App, die für die Zusammenarbeit bei der Entwicklung verwendet wird, könnte beispielsweise GitHub-Commits in einem Arbeitsgruppen-Chatraum 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-Kanal des Teams.
Weitere Möglichkeiten zur Einbindung in Dienste und APIs von Drittanbietern
- Verwenden Sie die Cloud Vision API von Google, um hochgeladene Bilder zu analysieren und zu taggen.
- Nachrichten mit Google Übersetzer übersetzen
- Verwenden Sie die benutzerdefinierte Authentifizierung, um Nutzer anzumelden.
- Senden Sie bei Schreibvorgängen für Realtime Database eine Anfrage an einen Webhook.
- Aktivieren Sie die Volltextsuche für Realtime Database-Elemente.
- Zahlungen von Nutzern verarbeiten.
- Sie können automatische Antworten auf Anrufe und SMS erstellen.
- Erstellen Sie einen Chatbot mit Google Assistant.