Cloud Functions offre agli sviluppatori l'accesso agli eventi Firebase e Google Cloud, oltre a una potenza di calcolo scalabile per eseguire codice in risposta a tali eventi. Sebbene sia previsto che le app Firebase utilizzino Cloud Functions in modi unici per soddisfare i loro requisiti unici, i casi d'uso tipici potrebbero rientrare in queste aree:
- Avvisa gli utenti quando accade qualcosa di interessante .
- Eseguire la sanificazione e la manutenzione del database .
- Esegui attività intensive nel cloud anziché 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 Introduzione o alle guide pratiche specifiche per eventi di autenticazione , eventi di analisi e altro ancora. Consulta il riferimento API eventType
per l'elenco completo dei tipi di eventi supportati.
Avvisa gli utenti quando accade qualcosa di interessante
Gli sviluppatori possono utilizzare Cloud Functions per mantenere gli utenti coinvolti e aggiornati con le informazioni rilevanti 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, viene eseguita una scrittura nel database in tempo reale. 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 durante le scritture nel percorso del database in tempo reale in cui vengono memorizzati 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 Inviare notifiche FCM .
Altri casi di utilizzo delle notifiche 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, è possibile monitorare gli eventi di scrittura e cancellare testo inappropriato o volgare dai messaggi degli utenti. Ecco come potrebbe funzionare:
- Il gestore di 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 disinfetta il linguaggio inappropriato e le "urla" maiuscole nei messaggi di chat.
Altri casi d'uso di sanificazione e manutenzione del database
- Elimina il contenuto di un utente eliminato dal database in tempo reale .
- 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 anziché nella tua app
Gli sviluppatori possono sfruttare Cloud Functions per scaricare sul cloud di Google il lavoro ad alta intensità di risorse (CPU pesante o rete) che non sarebbe pratico da 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 caricarla di nuovo su Cloud Storage. Le tue modifiche potrebbero includere il ridimensionamento, il ritaglio o la conversione di immagini. Gli strumenti della riga di comando di ImageMagick vengono forniti da utilizzare 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 di nuovo la miniatura su Cloud Storage in una nuova posizione.
- L'app scarica il collegamento in miniatura.
Per una procedura dettagliata di un esempio di elaborazione delle immagini , vedere Gestione degli eventi di archiviazione .
Altri esempi di lavori batch nel cloud Firebase
- Elimina periodicamente gli account Firebase inutilizzati .
- Modera automaticamente le immagini caricate .
- Invia email in blocco agli utenti.
- Aggregare e riepilogare periodicamente i dati.
- Elabora una coda di lavori 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 di un gruppo di lavoro.
- Un utente invia i commit a un repository GitHub.
- Una funzione HTTPS si attiva tramite l' API webhook GitHub .
- La funzione invia una notifica del commit a un canale Slack del team.
Altri modi per l'integrazione con servizi di terze parti e API
- Utilizza l' API di Google Cloud Vision per analizzare e taggare le immagini caricate.
- Traduci i messaggi utilizzando Google Traduttore .
- Utilizza provider di autenticazione come LinkedIn o Instagram per accedere agli utenti.
- Invia una richiesta a un webhook sulle scritture di Realtime Database .
- Abilita la ricerca full-text sugli elementi del database in tempo reale .
- Elabora i pagamenti degli utenti .
- Crea risposte automatiche alle telefonate e ai messaggi SMS.
- Crea un chatbot utilizzando l'Assistente Google .