Cosa puoi fare con Cloud Functions?

Cloud Functions offre agli sviluppatori l'accesso agli eventi di Firebase e Google Cloud, nonché 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:

Esamina i casi d'uso e gli esempi per ogni categoria di tuo interesse , quindi procedi con il tutorial Inizia o con guide pratiche specifiche per eventi di autenticazione, eventi di analisi e altro ancora.

Inviare notifiche 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. Ad esempio, considera un'app che consente agli utenti di seguire le attività degli altri utenti 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 Firebase Cloud Messaging (FCM) notifiche per informare gli utenti appropriati che hanno acquisito nuovi follower.

Diagramma che mostra il flusso dell'app descritto di seguito

  1. La funzione si attiva in caso di 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 campione, consulta il codice campione in GitHub:

Altri casi d'uso interessanti per le notifiche

  • Inviare email di conferma agli utenti che si abbonano a una newsletter.
  • Inviare un'email di benvenuto quando un utente completa la registrazione.
  • Inviare una conferma via SMS 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 degli utenti, mantenendo il sistema nello stato desiderato. Ad esempio, puoi monitorare gli eventi di scrittura e modificare il formato (ad esempio, passare a tutte le 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 degli eventi del database della funzione ascolta gli eventi di scrittura su un percorso specifico e recupera i dati degli eventi contenenti il testo di un messaggio.
  2. La funzione elabora il testo per modificare le stringhe in lettere maiuscole.
  3. La funzione riscrive il testo aggiornato nel database.

Per esaminare il codice campione, consulta il codice campione in GitHub:

Altri casi d'uso per la sanificazione e la manutenzione del database

  • Eliminare i contenuti di un utente eliminato da Realtime Database.
  • Limitare il numero di nodi secondari in un database Firebase.
  • Monitorare il numero di elementi in un elenco di Realtime Database.
  • Copiare i dati da Realtime Database a Google Cloud BigQuery.
  • Convertire il testo in emoji.
  • Gestire i metadati calcolati per i record del database.

Eseguire attività intensive nel cloud anziché nell'app

Puoi sfruttare Cloud Functions per trasferire sul 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, puoi scrivere una funzione per rimanere in ascolto dei caricamenti di immagini in Cloud Storage, scaricare l'immagine nell'istanza che esegue la funzione, modificarla e ricaricarla in Cloud Storage. Le modifiche potrebbero includere il ridimensionamento, il ritaglio o la conversione delle immagini con strumenti come sharp o Pillow.

Diagramma che mostra il flusso dell'app descritto di seguito

  1. Una funzione si attiva 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 ricarica 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 Cloud Storage degli eventi.

Altri esempi di job batch nel cloud Firebase

  • Eliminare periodicamente gli account Firebase inutilizzati Node.js | Python.
  • Eseguire automaticamente il backup delle immagini caricate Node.js | Python.
  • Inviare email collettive agli utenti.
  • Aggregare e riepilogare periodicamente i dati.
  • Elaborare una coda di lavoro in attesa.

Integrare 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 i commit di GitHub in una stanza virtuale di gruppo di lavoro.

Diagramma che mostra il flusso dell'app descritto di seguito

  1. Un utente esegue il push dei commit in un repository GitHub.
  2. Una funzione HTTPS si attiva tramite l'API webhook di GitHub.
  3. La funzione invia una notifica del commit a un canale Slack del team.

Altri modi per integrare con servizi e API di terze parti

  • Utilizzare l'API Cloud Vision di Google per analizzare e taggare le immagini caricate.
  • Tradurre i messaggi utilizzando Google Traduttore.
  • Utilizzare l'autenticazione personalizzata per consentire agli utenti di accedere.
  • Inviare una richiesta a un webhook in caso di scritture di Realtime Database.
  • Attivare la ricerca a testo intero sugli elementi Realtime Database.
  • Elaborare i pagamenti degli utenti.
  • Creare risposte automatiche a chiamate e messaggi SMS.
  • Creare un chatbot utilizzando l'Assistente Google.