Cosa puoi fare con Cloud Functions?

Cloud Functions offre agli sviluppatori l'accesso agli eventi Firebase e Google Cloud, insieme a una potenza di calcolo scalabile per eseguire il codice in risposta a tali eventi. Sebbene sia previsto che le app Firebase utilizzino Cloud Functions in modi unici per soddisfare i propri 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 al nostro tutorial introduttivo o a guide pratiche specifiche per eventi di autenticazione , eventi di analisi e altro ancora.

Avvisa gli utenti quando accade qualcosa di interessante

Gli sviluppatori possono utilizzare Cloud Functions per mantenere gli utenti coinvolti e aggiornati con le informazioni pertinenti su un'app. Considera, ad esempio, un'app che consente agli utenti di seguire le reciproche attività nell'app. Ogni volta che un utente si aggiunge come follower di un altro utente, si verifica 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 guadagnato nuovi follower.

Diagramma che mostra il flusso dell'app descritto di seguito

  1. La funzione si attiva sulle scritture nel percorso del database in tempo reale 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 Invia notifiche FCM .

Altri casi d'uso di notifica interessanti

Eseguire la sanificazione e la manutenzione del database

Con la gestione degli eventi del database di Cloud Functions, puoi modificare Realtime Database o Cloud Firestore in risposta al comportamento degli utenti, mantenendo il sistema aggiornato e pulito. Ad esempio, in un'app di chat room, puoi monitorare gli eventi di scrittura e cancellare il testo inappropriato o blasfemo dai 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 qualsiasi messaggio di chat.
  2. La funzione elabora il testo per rilevare e cancellare qualsiasi linguaggio inappropriato.
  3. La funzione riscrive il testo aggiornato nel database.

Per esaminare il codice funzionante, vedere l'esempio di moderazione del testo . Questo esempio elimina il linguaggio inappropriato e le "urla" maiuscole nei messaggi di chat.

Altri casi d'uso di pulizia e manutenzione del database

Esegui attività intensive nel cloud invece che nella tua app

Gli sviluppatori possono trarre vantaggio da Cloud Functions per scaricare sul cloud di Google il lavoro ad alta intensità di risorse (CPU pesante o rete) che non sarebbe pratico eseguire sul dispositivo di un utente. 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 ricaricarla su Cloud Storage. Le tue modifiche potrebbero includere il ridimensionamento, il ritaglio o la conversione delle immagini. Gli strumenti della riga di comando di ImageMagick sono forniti per l'uso con Cloud Functions per semplificare questo lavoro.

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 link della miniatura.

Per una procedura dettagliata di un esempio di elaborazione delle immagini , vedere Gestire gli eventi di archiviazione .

Altri esempi di processi batch nel cloud Firebase

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 i commit di GitHub in una chat room del 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 di GitHub .
  3. 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