Cosa puoi fare con Cloud Functions?

Cloud Functions offre agli sviluppatori l'accesso agli eventi Firebase e Google Cloud, insieme alla potenza di elaborazione scalabile per eseguire codice in risposta a tali eventi. Anche se si prevede che le app Firebase utilizzeranno 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 che ti interessa, quindi procedi con il nostro tutorial Introduttivo o con guide pratiche specifiche per eventi di autenticazione , eventi di analisi e altro ancora.

Avvisa gli utenti quando succede 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 seguire le attività degli altri nell'app. Ogni volta che un utente si aggiunge come follower di un altro utente, avviene una scrittura nel Realtime Database. Quindi questo evento di scrittura potrebbe attivare una funzione per creare notifiche Firebase Cloud Messaging (FCM) per far sapere agli utenti appropriati che hanno acquisito nuovi follower.

Diagramma che mostra il flusso dell'app descritto di seguito

  1. La funzione si attiva durante le scritture sul percorso del Realtime Database in cui sono archiviati 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, vedere il codice di esempio in GitHub:

Altri interessanti casi d'uso delle notifiche

  • Invia email di conferma agli utenti che si iscrivono a una newsletter.
  • Invia un'e-mail di benvenuto quando un utente completa la registrazione.
  • Invia un SMS di conferma quando un utente crea un nuovo account.

Eseguire la pulizia 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 desiderato. Ad esempio, potresti monitorare gli eventi di scrittura e modificare il formato (ad esempio, passare a tutto maiuscolo) 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 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 maiuscolo.
  3. La funzione riscrive il testo aggiornato nel database.

Per esaminare il codice funzionante, vedere il codice di esempio in GitHub:

Altri casi d'uso di sanificazione e manutenzione del database

  • Elimina il contenuto 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 di Realtime Database.
  • Copia i dati da Realtime Database a Google Cloud BigQuery.
  • Converti testo in emoji.
  • Gestire i metadati calcolati per i record del database.

Esegui attività intensive nel cloud invece che nella tua app

Puoi sfruttare Cloud Functions per scaricare sul cloud di Google il lavoro ad alto utilizzo di risorse (CPU o reti 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 nuovamente su Cloud Storage. Le modifiche potrebbero includere il ridimensionamento, il ritaglio o la conversione di 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 su 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 usarla.
  4. La funzione carica nuovamente la miniatura su Cloud Storage in una nuova posizione.
  5. L'app scarica il collegamento alla miniatura.

Per una panoramica di un esempio di elaborazione delle immagini, consulta la guida alla gestione degli eventi di Cloud Storage .

Altri esempi di lavori batch nel cloud Firebase

  • Elimina periodicamente gli account Firebase inutilizzati Node.js | Pitone .
  • Esegui automaticamente il backup delle immagini caricate Node.js | Pitone .
  • Invia email in blocco agli utenti.
  • Aggregare e riepilogare i dati periodicamente.
  • Elabora 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 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 invia i commit a un repository GitHub.
  2. Una funzione HTTPS viene attivata tramite l' API webhook GitHub .
  3. La funzione invia una notifica dell'impegno a un canale Slack del team.

Altri modi per l'integrazione con servizi e API di terze parti

  • Utilizza l'API Google Cloud Vision per analizzare e taggare le immagini caricate.
  • Traduci i messaggi utilizzando Google Translate.
  • Utilizza l'autenticazione personalizzata per accedere agli utenti.
  • Invia una richiesta a un webhook sulle scritture Realtime Database.
  • Abilita la ricerca full-text sugli elementi del Realtime Database.
  • Elaborare i pagamenti degli utenti.
  • Crea risposte automatiche alle telefonate e ai messaggi SMS.
  • Crea un chatbot utilizzando l'Assistente Google.