Cosa puoi fare con Cloud Functions?

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 le loro esigenze specifiche, i casi d'uso tipici possono rientrare nelle seguenti aree:

Esamina i casi d'uso e gli esempi per ogni categoria che ti interessa, poi vai al nostro tutorial Inizia o a guide illustrative specifiche per eventi di autenticazione, eventi di analisi e altro ancora.

Inviare una notifica agli utenti quando accade qualcosa di interessante

Gli sviluppatori possono utilizzare Cloud Functions per mantenere gli utenti coinvolti e aggiornati con informazioni pertinenti su un'app. Prendiamo ad esempio un'app che consente agli utenti di seguire le attività di un altro utente all'interno dell'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 attivare una funzione per creare notifiche Firebase Cloud Messaging (FCM) per comunicare agli utenti appropriati che hanno acquisito nuovi follower.

Diagramma che mostra il flusso dell'app descritto di seguito

  1. La funzione si attiva per le scritture nel percorso Realtime Database in cui sono memorizzati i follower.
  2. La funzione compone un messaggio da inviare tramite FCM.
  3. FCM invia il messaggio di notifica al dispositivo dell'utente.

Per esaminare il codice funzionante, consulta il codice di esempio su GitHub:

Altri casi d'uso interessanti relativi alle 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 un SMS di conferma quando un utente crea un nuovo account.

Eseguire 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 dell'utente, mantenendo il sistema nello stato preferito. 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:

Diagramma che mostra il flusso dell'app descritto di seguito

  1. Il gestore eventi del database della funzione ascolta gli eventi di scrittura in un percorso specifico e recupera i dati sugli eventi contenenti il testo di un messaggio.
  2. La funzione elabora il testo per convertire le stringhe in lettere maiuscole.
  3. La funzione riscriverà il testo aggiornato nel database.

Per rivedere il codice funzionante, vedi il codice campione in GitHub:

Altri casi d'uso di sanificazione 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.
  • Converte il testo in emoji.
  • Gestisci i metadati calcolati per i record del database.

Esegui attività intensive nel cloud anziché nell'app

Puoi utilizzare Cloud Functions per scaricare su Google Cloud i compiti che richiedono molte risorse (CPU o rete impegnative) anziché eseguirli sul dispositivo di un utente, migliorando la reattività della tua app. Ad esempio, potresti scrivere una funzione per monitorare i caricamenti di immagini su Cloud Storage, scaricare l'immagine nell'istanza che esegue la funzione, modificarla e ricaricarla su Cloud Storage. Le modifiche potrebbero includere il ridimensionamento, il ritaglio o la conversione delle immagini con strumenti come di nitidezza o cuscino.

Diagramma che mostra il flusso dell'app descritto di seguito

  1. Una funzione viene attivata quando un file immagine viene caricato in Cloud Storage.
  2. La funzione scarica l'immagine e ne crea una versione in miniatura.
  3. La funzione scrive la posizione della miniatura nel database, in modo che un'app client possa trovarla e utilizzarla.
  4. La funzione carica di nuovo la miniatura in Cloud Storage in una nuova posizione.
  5. 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.
  • Aggregare e riepilogare i dati periodicamente.
  • Elabora 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 le API web. Ad esempio, un'app utilizzata per la collaborazione allo sviluppo potrebbe pubblicare commit GitHub in una chat room di un gruppo di lavoro.

Diagramma che mostra il flusso dell'app descritto di seguito

  1. Un utente spinge i commit in un repository GitHub.
  2. Una funzione HTTPS viene attivata tramite l'API webhook di GitHub.
  3. La funzione invia una notifica del commit a un canale Slack di gruppo.

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.
  • Traduci i messaggi utilizzando Google Traduttore.
  • Utilizza l'autenticazione personalizzata per far accedere gli utenti.
  • Invia una richiesta a un webhook su scritture Realtime Database.
  • Attiva la ricerca a testo intero negli elementi Realtime Database.
  • Elaborare i pagamenti degli utenti.
  • Crea risposte automatiche alle telefonate e ai messaggi SMS.
  • Crea un chatbot utilizzando l'Assistente Google.