Cloud Functions offre agli sviluppatori l'accesso a Firebase e agli eventi Google Cloud, oltre a una potenza di calcolo scalabile per eseguire il codice in risposta a questi eventi. Sebbene sia previsto che le app Firebase utilizzino Cloud Functions in modi unici per soddisfare i loro requisiti unici, i casi d'uso tipici potrebbero rientrare in queste aree:
- Notificare agli utenti quando succede qualcosa di interessante.
- Esegui la sanificazione e la manutenzione del database.
- Esegui attività intensive nel cloud anziché nella tua app.
- Integrazione con servizi e API di terze parti.
Esamina i casi d'uso e gli esempi per ogni categoria di tuo interesse, quindi procedi al tutorial Inizia o alle guide pratiche specifiche per eventi di autenticazione, eventi di analisi e altro ancora.
Inviare una notifica agli utenti quando si verifica qualcosa di interessante
Gli sviluppatori possono utilizzare Cloud Functions per mantenere gli utenti coinvolti e aggiornati con informazioni pertinenti su un'app. Considera, ad esempio, un'app che consente agli utenti di seguirsi a vicenda nell'app. Ogni volta che un utente si aggiunge come follower di un altro utente, viene eseguita una scrittura in Realtime Database. Questo evento di scrittura potrebbe quindi attivare una funzione per creare notifiche Firebase Cloud Messaging (FCM) per informare gli utenti appropriati che hanno acquisito nuovi follower.
- La funzione viene attivata in caso di scrittura nel percorso Realtime Database in cui sono memorizzati i follower.
- La funzione compone un messaggio da inviare tramite FCM.
- FCM invia il messaggio di notifica al dispositivo dell'utente.
Per esaminare il codice funzionante, consulta il codice campione su GitHub:
- Node.js: fcm-notifications
- Python: fcm-notifications
Altri casi d'uso interessanti per le notifiche
- Invia email di conferma agli utenti che si iscrivono a una newsletter.
- Invia un'email di benvenuto quando un utente completa la registrazione.
- Invia una conferma via SMS quando un utente crea un nuovo account.
Esegui la sanificazione e la manutenzione del database
Con la gestione degli eventi del database Cloud Functions, puoi modificare Realtime Database o Cloud Firestore in risposta al comportamento degli utenti, mantenendo il sistema nello stato desiderato. Ad esempio, potresti monitorare gli eventi di scrittura e modificare il formato (ad esempio, passare a tutte le maiuscole) di determinate stringhe nei messaggi degli utenti. Ecco come potrebbe funzionare:
- Il gestore eventi del database della funzione ascolta gli eventi di scrittura su un percorso specifico e recupera i dati dell'evento contenenti il testo di un messaggio.
- La funzione elabora il testo per convertire le stringhe in maiuscolo.
- La funzione riscrive il testo aggiornato nel database.
Per esaminare il codice funzionante, consulta il codice campione su GitHub:
- Node.js: uppercase-rtdb
- Python: uppercase-rtdb
Altri casi d'uso per la sanitizzazione e la manutenzione dei database
- Elimina definitivamente i contenuti di un utente eliminato da Realtime Database.
- Limita il numero di nodi secondari in un database Firebase.
- Tieni traccia del numero di elementi in un elenco Realtime Database.
- Copia i dati da Realtime Database a Google Cloud BigQuery.
- Converti testo in emoji.
- Gestisci i metadati calcolati per i record del database.
Esegui attività intensive nel cloud anziché nell'app
Puoi sfruttare Cloud Functions per trasferire al cloud Google il lavoro che richiede molte risorse (CPU o rete) anziché eseguirlo sul dispositivo di un utente, migliorando la reattività dell'app. Ad esempio, potresti scrivere una funzione per ascoltare i caricamenti di immagini su Cloud Storage, scaricare l'immagine nell'istanza che esegue la funzione, modificarla e caricarla di nuovo su Cloud Storage. Le modifiche potrebbero includere il ridimensionamento, il ritaglio o la conversione delle immagini con strumenti come sharp o Pillow.
- Una funzione viene attivata quando un file immagine viene caricato in Cloud Storage.
- La funzione scarica l'immagine e ne crea una versione in miniatura.
- La funzione scrive la posizione della miniatura nel database, in modo che un'app client possa trovarla e utilizzarla.
- La funzione carica la miniatura di nuovo su Cloud Storage in una nuova posizione.
- L'app scarica il link alla miniatura.
Per una procedura dettagliata di un esempio di elaborazione delle immagini, consulta la guida alla gestione degli eventi Cloud Storage.
Altri esempi di job batch nel cloud Firebase
- Elimina periodicamente gli account Firebase inutilizzati Node.js | Python.
- Eseguire automaticamente il backup delle immagini caricate Node.js | Python.
- Inviare email collettive agli utenti.
- Aggrega e riepiloga i dati periodicamente.
- Elaborare una coda di lavoro in sospeso.
Integrazione con servizi e API di terze parti
Cloud Functions può aiutare la tua app a funzionare meglio con altri servizi chiamando ed esponendo le API web. Ad esempio, un'app utilizzata per la collaborazione nello sviluppo potrebbe pubblicare i commit di GitHub in una chat di gruppo di lavoro.
- Un utente esegue il push dei commit in un repository GitHub.
- Una funzione HTTPS viene attivata tramite l'API webhook di GitHub.
- La funzione invia una notifica del commit a un canale Slack del team.
Altri modi per eseguire l'integrazione con servizi e API di terze parti
- Utilizza l'API Cloud Vision di Google per analizzare e taggare le immagini caricate.
- Tradurre i messaggi utilizzando Google Traduttore.
- Utilizza l'autenticazione personalizzata per consentire l'accesso degli utenti.
- Invia una richiesta a un webhook in caso di scrittura su Realtime Database.
- Abilita la ricerca a testo intero sugli elementi Realtime Database.
- Elaborare i pagamenti degli utenti.
- Crea risposte automatiche a chiamate e messaggi.
- Crea un chatbot utilizzando l'Assistente Google.