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:
- Avvisa gli utenti quando succede qualcosa di interessante .
- Eseguire la sanificazione e la manutenzione del database .
- Esegui attività intensive nel cloud invece che nella tua app .
- Integrazione con servizi e API di terze parti .
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.
- La funzione si attiva sulle scritture nel percorso del database in tempo reale 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, vedere Invia notifiche FCM .
Altri casi d'uso di notifica interessanti
- Invia e-mail di conferma agli utenti che si iscrivono/annullano l'iscrizione 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 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:
- 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.
- La funzione elabora il testo per rilevare e cancellare qualsiasi linguaggio inappropriato.
- 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
- Elimina i contenuti di un utente eliminato da Realtime Database .
- Limita il numero di nodi figlio in un database Firebase .
- Tieni traccia del numero di elementi in un elenco di database in tempo reale .
- Copia i dati da Realtime Database a Google Cloud BigQuery .
- Converti testo in emoji.
- Gestisci i metadati calcolati per i record 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.
- Una funzione si attiva 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 usarla.
- La funzione carica nuovamente la miniatura su Cloud Storage in una nuova posizione.
- 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
- Elimina periodicamente gli account Firebase inutilizzati .
- Modera automaticamente le immagini caricate .
- Invia email di massa agli utenti.
- Aggregare e riepilogare periodicamente i dati.
- 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 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.
- Un utente invia i commit a 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 Google Cloud Vision per analizzare e taggare le immagini caricate.
- Tradurre i messaggi utilizzando Google Translate .
- Utilizza provider di autenticazione come LinkedIn o Instagram per accedere agli utenti.
- Invia una richiesta a un webhook sulle scritture del database in tempo reale .
- Abilita la ricerca full-text sugli elementi del Realtime Database .
- Elaborare i pagamenti dagli utenti .
- Crea risposte automatiche alle telefonate e ai messaggi SMS.
- Crea un chatbot utilizzando l'Assistente Google .