Cloud Functions offre agli sviluppatori l'accesso a Firebase e Google Cloud eventi, insieme con una potenza di calcolo scalabile per l'esecuzione del codice in risposta a tali 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:
- Avvisa gli utenti quando accade qualcosa di interessante.
- Esegui la sanificazione e la manutenzione del database.
- Esegui attività intensive nel cloud anziché nella tua app.
- Integrare servizi e API di terze parti.
Esamina i casi d'uso e gli esempi per ogni categoria che ti interessa quindi passa al nostro tutorial Inizia o guide illustrative specifiche per gli eventi di autenticazione, eventi di analisi e altro ancora.
Inviare una notifica agli utenti quando accade qualcosa di interessante
Gli sviluppatori possono utilizzare Cloud Functions per mantenere gli utenti coinvolti e aggiornati con informazioni pertinenti su un'app. Prendiamo ad esempio un'app che consente agli utenti di seguire le attività di un altro utente all'interno dell'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 attivare una funzione per creare notifiche Firebase Cloud Messaging (FCM) per consentire alle gli utenti sanno di aver acquisito nuovi follower.
- La funzione viene attivata in caso di scrittura nel percorso Realtime Database in cui i follower vengono archiviati.
- La funzione compone un messaggio da inviare tramite FCM.
- FCM invia il messaggio di notifica al dispositivo dell'utente.
Per rivedere il codice funzionante, vedi il codice campione in GitHub:
- Node.js: fcm-notifications
- Python: fcm-notifications
Altri casi d'uso interessanti relativi alle notifiche
- Invia email di conferma agli utenti che si iscrivono a una newsletter.
- Invia un'email 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 Cloud Functions, puoi modificare Realtime Database o Cloud Firestore in risposta al comportamento degli utenti, mantenendo il sistema nelle impostazioni desiderate stato. Ad esempio, puoi monitorare gli eventi di scrittura e modificare il formato (ad esempio, cambia tutto in maiuscolo) di determinate stringhe nella messaggi. Ecco come potrebbe funzionare:
- Il gestore di eventi del database della funzione rimane in ascolto degli eventi di scrittura su una specifica percorso personalizzato e recupera i dati sugli eventi contenenti il testo di un messaggio.
- La funzione elabora il testo per convertire le stringhe in lettere maiuscole.
- La funzione scrive il testo aggiornato nel database.
Per rivedere il codice funzionante, vedi il codice campione in GitHub:
- Node.js: uppercase-rtdb
- Python: uppercase-rtdb
Altri casi d'uso di sanificazione e manutenzione dei database
- Elimina definitivamente i contenuti di un utente eliminato da Realtime Database.
- Limita il numero di nodi figlio in un database Firebase.
- Monitora il numero di elementi in un elenco Realtime Database.
- 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
Puoi utilizzare Cloud Functions per trasferire le risorse al servizio perché richiedono un uso intensivo delle risorse cloud (CPU o networking pesanti) sul dispositivo di un utente, migliorando la reattività della tua app. Ad esempio, potresti scrivere una funzione per rimanere in ascolto dei caricamenti delle immagini su Cloud Storage, scarica l'immagine nell'istanza eseguire la funzione, modificarla e caricarla nuovamente in Cloud Storage. Il tuo le modifiche potrebbero includere il ridimensionamento, il ritaglio o la conversione delle immagini con strumenti come diesis o Cuscino.
- Una funzione viene attivata quando un file immagine viene caricato in Cloud Storage.
- La funzione scarica l'immagine e crea una versione in miniatura della stessa.
- La funzione scrive la posizione della miniatura nel database, in modo che un'app client possa trovarla e utilizzarla.
- La funzione carica di nuovo 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, consulta la guida alla gestione degli eventi Cloud Storage.
Altri esempi di job batch nel cloud Firebase
- Elimina periodicamente gli account Firebase inutilizzati Node.js | Python.
- Esegui automaticamente il backup delle immagini caricate Node.js | Python.
- Inviare email collettive agli utenti.
- Aggrega e riepiloga periodicamente i dati.
- Elabora una coda di lavori in sospeso.
Integrazione con servizi e API di terze parti
Cloud Functions può contribuire a migliorare il funzionamento della tua app con altri servizi chiamando ed esponendo 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 esegue il push del commit in un repository GitHub.
- Una funzione HTTPS viene attivata tramite l'API GitHub webhook.
- La funzione invia una notifica di commit a un canale Slack del team.
Altre modalità di integrazione con servizi e API di terze parti
- Utilizza l'API Cloud Vision di Google per analizzare e taggare le immagini caricate.
- Traduci i messaggi utilizzando Google Traduttore.
- Utilizza l'autenticazione personalizzata per consentire l'accesso degli utenti.
- Invia una richiesta a un webhook sulle scritture di Realtime Database.
- Attiva la ricerca a testo intero negli elementi Realtime Database.
- Elaborare i pagamenti degli utenti.
- Creare risposte automatiche a chiamate e messaggi SMS.
- Crea un chatbot utilizzando l'Assistente Google.