Cloud Functions offre agli sviluppatori l'accesso agli eventi Firebase e 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 specifici, i casi d'uso tipici potrebbero rientrare in queste aree:
- Invia notifiche agli utenti quando succede qualcosa di interessante.
- Esegui la sanitizzazione e la manutenzione del database.
- Esegui attività intensive nel cloud anziché nell'app.
- Integrazione con servizi e API di terze parti.
Esamina i casi d'uso e gli esempi per ogni categoria di tuo interesse, poi procedi con il nostro tutorial Inizia o con le guide illustrative specifiche per gli eventi di autenticazione, gli eventi di analisi e altro ancora.
Inviare notifiche agli utenti quando si verifica un evento interessante
Gli sviluppatori possono utilizzare Cloud Functions per mantenere il coinvolgimento degli utenti e aggiornati con informazioni pertinenti su un'app. Considera, ad esempio, un'app che consente agli utenti di seguire le attività degli altri nell'app. Ogni volta che un utente si aggiunge come follower di un altro utente, si verifica 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 interessati che hanno acquisito nuovi follower.

- La funzione viene attivata in caso di scrittura nel percorso Realtime Database in cui sono archiviati 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 in GitHub:
- Node.js: fcm-notifications
- Python: fcm-notifications
Altri casi d'uso interessanti delle notifiche
- Inviare email di conferma agli utenti che si iscrivono a una newsletter.
- Invia un'email di benvenuto quando un utente completa la registrazione.
- Inviare una conferma via SMS quando un utente crea un nuovo account.
Eseguire la sanitizzazione 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, puoi monitorare gli eventi di scrittura e modificare il formato (ad esempio, passare alle lettere maiuscole) di determinate stringhe nei messaggi degli utenti. Ecco come potrebbe funzionare:

- Il gestore di eventi del database della funzione ascolta gli eventi di scrittura su un percorso specifico e recupera i dati sugli eventi contenenti il testo di un messaggio.
- La funzione elabora il testo per convertire le stringhe in lettere maiuscole.
- La funzione scrive il testo aggiornato nel database.
Per esaminare il codice funzionante, consulta il codice campione in GitHub:
- Node.js: uppercase-rtdb
- Python: uppercase-rtdb
Altri casi d'uso di sanitizzazione e manutenzione del database
- Elimina definitivamente i contenuti di un utente eliminato da Realtime Database.
- Limita il numero di nodi secondari in un database Firebase.
- Monitora il numero di elementi in un elenco Realtime Database.
- Copia i dati da Realtime Database in Google Cloud BigQuery.
- Converti il testo in emoji.
- Gestire i metadati calcolati per i record del database.
Esegui attività intensive nel cloud anziché nella tua app
Puoi sfruttare Cloud Functions per trasferire sul cloud Google il lavoro che richiede un uso intensivo delle risorse (CPU o networking pesanti) invece di eseguirlo sul dispositivo di un utente, migliorando la reattività della tua 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 su 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 in Cloud Storage in una nuova posizione.
- L'app scarica il link della 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.
- Esegui 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 attesa.
Integrazione con servizi e API di terze parti
Cloud Functions può aiutare la tua app a funzionare meglio con altri servizi chiamando ed esponendo API web. Ad esempio, un'app utilizzata per la collaborazione sullo sviluppo potrebbe pubblicare i commit di GitHub in una stanza virtuale di un 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 l'integrazione con servizi e API di terze parti
- Utilizza l'API Cloud Vision di Google per analizzare e taggare le immagini caricate.
- Traduci i messaggi utilizzando Google Traduttore.
- Utilizza l'autenticazione personalizzata per far accedere gli utenti.
- Invia una richiesta a un webhook in caso di scritture su Realtime Database.
- Abilita la ricerca a testo intero sugli elementi Realtime Database.
- Elaborare i pagamenti degli utenti.
- Crea risposte automatiche alle telefonate e agli SMS.
- Crea un chatbot utilizzando l'Assistente Google.