Cloud Functions daje deweloperom dostęp do zdarzeń Firebase i Google Cloud oraz do skalowalnej mocy obliczeniowej, która umożliwia uruchamianie kodu w odpowiedzi na te zdarzenia. Oczekuje się, że aplikacje Firebase będą korzystać z Cloud Functions na unikalne sposoby, aby spełnić swoje unikalne wymagania, ale typowe przypadki użycia mogą obejmować te obszary:
- powiadamianie użytkowników o ciekawych wydarzeniach;
- czyszczenie i konserwacja bazy danych.
- wykonywanie wymagających zadań w chmurze zamiast w aplikacji.
- integracja z usługami i interfejsami API innych firm.
Zapoznaj się z przypadkami użycia i przykładami w każdej kategorii, która Cię interesuje , a następnie przejdź do naszego samouczka Pierwsze kroki lub do konkretnych przewodników dotyczących zdarzeń uwierzytelniania, zdarzeń Analytics i innych.
Powiadamianie użytkowników o ciekawych wydarzeniach
Deweloperzy mogą używać Cloud Functions, aby angażować użytkowników i informować ich o istotnych informacjach dotyczących aplikacji. Rozważmy na przykład aplikację, która umożliwia użytkownikom śledzenie aktywności innych użytkowników w aplikacji. Za każdym razem, gdy użytkownik doda się do listy obserwujących innego użytkownika, w Realtime Database następuje zapis. To zdarzenie zapisu może następnie wywołać funkcję tworzenia powiadomień Firebase Cloud Messaging (FCM), aby poinformować odpowiednich użytkowników o tym, że zyskali nowych obserwujących.

- Funkcja jest wywoływana przy zapisie w ścieżce Realtime Database, w której są przechowywani obserwujący.
- Funkcja tworzy wiadomość do wysłania za pomocą FCM.
- FCM wysyła powiadomienie na urządzenie użytkownika.
Aby przejrzeć działający kod, zobacz przykładowy kod na GitHubie:
- Node.js: fcm-notifications
- Python: fcm-notifications
Inne ciekawe przypadki użycia powiadomień
- Wysyłanie e-maili z potwierdzeniem do użytkowników, którzy subskrybują newsletter.
- Wysyłanie e-maila powitalnego, gdy użytkownik zakończy rejestrację.
- Wysyłanie SMS-a z potwierdzeniem, gdy użytkownik utworzy nowe konto.
Czyszczenie i konserwacja bazy danych
Dzięki obsłudzeniu zdarzeń bazy danych Cloud Functions możesz modyfikować Realtime Database lub Cloud Firestore w odpowiedzi na zachowanie użytkownika, utrzymując system w pożądanym stanie. Możesz na przykład monitorować zdarzenia zapisu i zmieniać format (np. na same wielkie litery) niektórych ciągów w wiadomościach użytkowników. Oto jak to może działać:

- Moduł obsługi zdarzeń bazy danych funkcji nasłuchuje zdarzeń zapisu w określonej ścieżce i pobiera dane zdarzenia zawierające tekst wiadomości.
- Funkcja przetwarza tekst, aby zmienić ciągi na wielkie litery.
- Funkcja zapisuje zaktualizowany tekst z powrotem w bazie danych.
Aby przejrzeć działający kod, zobacz przykładowy kod na GitHubie:
- Node.js: uppercase-rtdb
- Python: uppercase-rtdb
Inne przypadki użycia czyszczenia i konserwacji bazy danych
- Usuwanie treści usuniętego użytkownika z Realtime Database.
- Ograniczanie liczby węzłów podrzędnych w bazie danych Firebase.
- Śledzenie liczby elementów na liście Realtime Database.
- Kopiowanie danych z Realtime Database do Google Cloud BigQuery.
- Konwertowanie tekstu na emotikony.
- Zarządzanie obliczonymi metadanymi rekordów bazy danych.
Wykonywanie wymagających zadań w chmurze zamiast w aplikacji
Możesz korzystać z Cloud Functions, aby przenosić do chmury Google zadania wymagające dużej ilości zasobów (duże obciążenie procesora lub sieci) zamiast uruchamiać je na urządzeniu użytkownika, co zwiększa szybkość reakcji aplikacji. Możesz na przykład napisać funkcję, która będzie nasłuchiwać przesyłania obrazów do Cloud Storage, pobierać obraz do instancji, na której działa funkcja, modyfikować go i przesyłać z powrotem do Cloud Storage. Twoje modyfikacje mogą obejmować zmianę rozmiaru, przycinanie lub konwertowanie obrazów za pomocą narzędzi takich jak sharp czy Pillow.

- Funkcja jest wywoływana, gdy plik obrazu zostanie przesłany do Cloud Storage.
- Funkcja pobiera obraz i tworzy jego miniaturę.
- Funkcja zapisuje lokalizację miniatury w bazie danych, aby aplikacja kliencka mogła ją znaleźć i użyć.
- Funkcja przesyła miniaturę z powrotem do Cloud Storage w nowej lokalizacji.
- Aplikacja pobiera link do miniatury.
Aby zapoznać się z przykładem przetwarzania obrazu, przeczytaj przewodnik dotyczący obsługi zdarzeń.Cloud Storage
Inne przykłady zadań wsadowych w chmurze Firebase
- Okresowe usuwanie nieużywanych kont Firebase Node.js | Python.
- Automatyczne tworzenie kopii zapasowych przesłanych obrazów Node.js | Python.
- Wysyłanie zbiorczych e-maili do użytkowników.
- Okresowe agregowanie i podsumowywanie danych.
- Przetwarzanie kolejki oczekujących zadań.
Integracja z usługami i interfejsami API innych firm
Cloud Functions może pomóc Twojej aplikacji w lepszej współpracy z innymi usługami, wywołując i udostępniając internetowe interfejsy API. Na przykład aplikacja używana do współpracy przy tworzeniu oprogramowania może publikować zatwierdzenia GitHub w pokoju czatu grupy roboczej.

- Użytkownik przesyła zatwierdzenia do repozytorium GitHub.
- Funkcja HTTPS jest wywoływana przez interfejs GitHub webhook API.
- Funkcja wysyła powiadomienie o zatwierdzeniu na kanał Slack zespołu.
Inne sposoby integracji z usługami i interfejsami API innych firm
- Analizowanie i oznaczanie przesłanych obrazów za pomocą interfejsu Google Cloud Vision API.
- Tłumaczenie wiadomości za pomocą Tłumacza Google.
- Logowanie użytkowników za pomocą niestandardowego uwierzytelniania.
- Wysyłanie żądania do webhooka przy zapisie w bazie danych czasu rzeczywistego.Realtime Database
- Włączanie wyszukiwania pełnotekstowego w elementach Realtime Database.
- Przetwarzanie płatności od użytkowników.
- Tworzenie automatycznych odpowiedzi na połączenia telefoniczne i SMS-y.
- Tworzenie chatbota za pomocą Asystenta Google.