Cloud Functions bietet Entwicklern Zugriff auf Firebase- und Google Cloud-Ereignisse sowie skalierbare Rechenleistung, um Code als Reaktion auf diese Ereignisse auszuführen. Obwohl erwartet wird, dass Firebase-Apps Cloud-Funktionen auf einzigartige Weise nutzen, um ihre einzigartigen Anforderungen zu erfüllen, könnten typische Anwendungsfälle in diese Bereiche fallen:
- Benachrichtigen Sie Benutzer, wenn etwas Interessantes passiert .
- Führen Sie eine Datenbankbereinigung und -wartung durch .
- Führen Sie intensive Aufgaben in der Cloud statt in Ihrer App aus .
- Integration mit Diensten 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 Tutorial „Erste Schritte“ oder mit spezifischen Anleitungen für Authentifizierungsereignisse , Analyseereignisse und mehr fort.
Benachrichtigen Sie Benutzer, wenn etwas Interessantes passiert
Entwickler können Cloud Functions verwenden, um Benutzer mit relevanten Informationen zu einer App zu beschäftigen und auf dem Laufenden zu halten. Stellen Sie sich beispielsweise eine App vor, die es Benutzern ermöglicht, die Aktivitäten der anderen in der App zu verfolgen. Jedes Mal, wenn sich ein Benutzer als Follower eines anderen Benutzers hinzufügt, findet ein Schreibvorgang in der Echtzeitdatenbank statt. Dann könnte dieses Schreibereignis eine Funktion zum Erstellen von Firebase Cloud Messaging (FCM)-Benachrichtigungen auslösen, um die entsprechenden Benutzer darüber zu informieren, dass sie neue Follower gewonnen haben.
- Die Funktion wird bei Schreibvorgängen in den Echtzeitdatenbankpfad ausgelöst, in dem Follower gespeichert sind.
- Die Funktion erstellt eine Nachricht, die über FCM gesendet werden soll.
- FCM sendet die Benachrichtigungsnachricht an das Gerät des Benutzers.
Informationen zum Überprüfen des funktionierenden Codes finden Sie unter Senden von FCM-Benachrichtigungen .
Weitere interessante Anwendungsfälle für Benachrichtigungen
- Senden Sie Bestätigungs-E-Mails an Benutzer, die einen Newsletter abonnieren/abbestellen .
- Senden Sie eine Willkommens-E-Mail, wenn ein Benutzer die Registrierung abgeschlossen hat .
- Senden Sie eine SMS-Bestätigung, wenn ein Benutzer ein neues Konto erstellt.
Führen Sie eine Datenbankbereinigung und -wartung durch
Mit der Behandlung von Cloud Functions-Datenbankereignissen können Sie Realtime Database oder Cloud Firestore als Reaktion auf das Benutzerverhalten ändern und so das System auf dem neuesten Stand und sauber halten. In einer Chatroom-App könnten Sie beispielsweise Schreibereignisse überwachen und unangemessenen oder profanen Text aus den Nachrichten der Benutzer entfernen. So könnte das funktionieren:
- Der Datenbank-Event-Handler der Funktion wartet auf Write-Events auf einem bestimmten Pfad und ruft Event-Daten ab, die den Text aller Chat-Nachrichten enthalten.
- Die Funktion verarbeitet den Text, um unangemessene Sprache zu erkennen und zu entfernen.
- Die Funktion schreibt den aktualisierten Text zurück in die Datenbank.
Um den funktionierenden Code zu überprüfen, sehen Sie sich das Beispiel für die Textmoderation an. Dieses Beispiel bereinigt unangemessene Sprache sowie „Schreien“ in Großbuchstaben in Chatnachrichten.
Andere Anwendungsfälle für Datenbankbereinigung und -wartung
- Löschen Sie den Inhalt eines gelöschten Benutzers aus der Echtzeitdatenbank .
- Begrenzen Sie die Anzahl der untergeordneten Knoten in einer Firebase-Datenbank .
- Verfolgen Sie die Anzahl der Elemente in einer Echtzeitdatenbankliste .
- Kopieren Sie Daten aus der Echtzeitdatenbank in Google Cloud BigQuery .
- Konvertieren Sie Text in Emoji.
- Verwalten Sie berechnete Metadaten für Datenbankeinträge.
Führen Sie intensive Aufgaben in der Cloud statt in Ihrer App aus
Entwickler können Cloud Functions nutzen, um ressourcenintensive Arbeit (starke CPU oder Netzwerkarbeit), die auf dem Gerät eines Benutzers nicht praktikabel wäre, in die Google Cloud auszulagern. Sie könnten beispielsweise eine Funktion schreiben, um auf Bild-Uploads in Cloud Storage zu lauschen, das Bild auf die Instanz herunterzuladen, auf der die Funktion ausgeführt wird, es zu ändern und wieder in Cloud Storage hochzuladen. Ihre Änderungen können das Ändern der Größe, das Zuschneiden oder Konvertieren von Bildern umfassen. ImageMagick- Befehlszeilentools werden zur Verwendung mit Cloud Functions bereitgestellt, um diese Arbeit zu vereinfachen.
- Eine Funktion wird ausgelöst, wenn eine Bilddatei in Cloud Storage hochgeladen wird.
- Die Funktion lädt das Bild herunter und erstellt eine Thumbnail-Version davon.
- Die Funktion schreibt diesen Thumbnail-Speicherort in die Datenbank, sodass eine Client-App ihn finden und verwenden kann.
- Die Funktion lädt das Miniaturbild an einem neuen Ort zurück in Cloud Storage hoch.
- Die App lädt den Thumbnail-Link herunter.
Eine exemplarische Vorgehensweise für ein Bildverarbeitungsbeispiel finden Sie unter Behandeln von Speicherereignissen .
Weitere Beispiele für Batch-Jobs in der Firebase-Cloud
- Löschen Sie regelmäßig ungenutzte Firebase-Konten .
- Hochgeladene Bilder automatisch moderieren .
- Senden Sie Massen-E-Mails an Benutzer.
- Aggregieren und fassen Sie regelmäßig Daten zusammen.
- Verarbeiten Sie eine Warteschlange mit ausstehenden Aufgaben.
Integration mit Diensten und APIs von Drittanbietern
Cloud Functions kann dazu beitragen, dass Ihre App besser mit anderen Diensten zusammenarbeitet, indem Web-APIs aufgerufen und verfügbar gemacht werden. Beispielsweise könnte eine App, die für die Zusammenarbeit bei der Entwicklung verwendet wird, GitHub-Commits in einem Arbeitsgruppen-Chatroom posten.
- Ein Benutzer überträgt Commits an ein GitHub-Repository.
- Eine HTTPS-Funktion wird über die GitHub-Webhook-API ausgelöst.
- Die Funktion sendet eine Benachrichtigung über den Commit an einen Team-Slack-Kanal.
Andere Möglichkeiten zur Integration mit Diensten und APIs von Drittanbietern
- Verwenden Sie die Google Cloud Vision API , um hochgeladene Bilder zu analysieren und zu taggen.
- Nachrichten mit Google Übersetzer übersetzen .
- Verwenden Sie Authentifizierungsanbieter wie LinkedIn oder Instagram , um Benutzer anzumelden.
- Senden Sie eine Anfrage an einen Webhook für Realtime Database Writes .
- Aktivieren Sie die Volltextsuche für Elemente der Echtzeitdatenbank .
- Verarbeiten Sie Zahlungen von Benutzern .
- Erstellen Sie automatische Antworten auf Anrufe und SMS-Nachrichten.
- Erstellen Sie einen Chatbot mit Google Assistant .