O Cloud Functions oferece aos desenvolvedores acesso aos eventos do Firebase e do Google Cloud, juntamente com o poder de computação escalonável para executar o código em resposta a esses eventos. É esperado que os apps do Firebase usem o Cloud Functions de maneiras únicas para atender a requisitos exclusivos, mas existem casos de uso típicos, os quais podem ser encontrados nos tópicos a seguir:
- Notificar usuários quando algo interessante acontecer.
- Executar a sanitização e a manutenção de banco de dados.
- Executar tarefas intensivas na nuvem em vez de no seu app.
- Integrar com serviços e APIs de terceiros.
Analise os casos de uso e os exemplos de cada categoria do seu interesse e complete nosso tutorial de iniciação. Também é possível ler os guias de instruções específicas sobre eventos de autenticação, eventos de análise e muito mais.
Notificar usuários quando algo interessante acontecer
Os desenvolvedores podem usar o Cloud Functions para manter os usuários envolvidos e atualizados com informações relevantes sobre um aplicativo. Considere, por exemplo, um aplicativo que permite que os usuários sigam as atividades uns dos outros no aplicativo. Sempre que um usuário se adiciona como seguidor de outro usuário, ocorre uma gravação no Realtime Database. Em seguida, esse evento de gravação pode acionar uma função para criar notificações do Firebase Cloud Messaging (FCM) para informar aos usuários apropriados que eles ganharam novos seguidores.
- A função é acionada nas gravações do Realtime Database no caminho em que os seguidores são armazenados.
- A função compõe uma mensagem a ser enviada usando o FCM.
- O FCM envia a mensagem de notificação para o dispositivo do usuário.
Para analisar o código em funcionamento, consulte Enviar notificações do FCM.
Outros casos de uso interessantes das notificações
- Enviar e-mails de confirmação aos usuários que se inscreverem/cancelarem a inscrição em uma newsletter.
- Enviar um e-mail de boas-vindas quando um usuário completar a inscrição.
- Enviar uma confirmação via SMS quando um usuário criar uma nova conta.
Executar a sanitização e a manutenção de banco de dados
Com o gerenciamento de eventos do banco de dados do Cloud Functions, é possível modificar o Realtime Database ou o Cloud Firestore em resposta ao comportamento do usuário, mantendo o sistema atualizado e limpo. Por exemplo, em um aplicativo de sala de chat, é possível monitorar eventos de gravação e remover textos impróprios ou obscenos das mensagens dos usuários. Veja como isso poderia funcionar:
- O manipulador de eventos do banco de dados da função detecta eventos de gravação em um caminho específico e recupera dados de eventos que contêm o texto de qualquer mensagem de chat.
- A função processa o texto para detectar e eliminar qualquer linguagem imprópria.
- A função grava o texto atualizado de volta no banco de dados.
Para analisar o código em funcionamento, consulte a amostra de Moderação de texto. Essa amostra sanitiza a linguagem imprópria, bem como "gritos" em letra maiúscula em mensagens de chat.
Outros casos de uso de sanitização e manutenção de banco de dados
- Limpar o conteúdo de um usuário excluído do Realtime Database.
- Limitar o número de nós secundários em um banco de dados do Firebase.
- Rastrear o número de elementos em uma lista do Realtime Database.
- Copiar dados do Realtime Database para o Google Cloud BigQuery.
- Converter texto em emojis.
- Gerenciar metadados computados para registros de banco de dados.
Executar tarefas intensivas na nuvem em vez de no seu app
Os desenvolvedores podem usar o Cloud Functions para descarregar na nuvem do Google o trabalho que usa muitos recursos (utilização intensiva da CPU ou da rede) e que não seria prático executar no dispositivo de um usuário. Por exemplo, você pode criar uma função para ouvir os uploads de imagem no Cloud Storage, fazer o download da imagem para a instância que executa a função, modificá-la e fazer o upload de volta ao Cloud Storage. Suas modificações podem incluir redimensionamento, corte ou conversão de imagens. As ferramentas de linha de comando ImageMagick são fornecidas com o Cloud Functions para facilitar essa tarefa.
- Uma função é acionada quando um arquivo de imagem é enviado para o Cloud Storage.
- A função faz o download da imagem e cria uma versão em miniatura.
- A função grava a localização da miniatura no banco de dados para que o app cliente possa encontrá-la e usá-la.
- A função faz o upload da miniatura de volta para o Cloud Storage em um novo local.
- O app faz o download do link da miniatura.
Para ver o tutorial de um exemplo de processamento de imagens, consulte Manipular eventos do Storage.
Outros exemplos de jobs em lote na nuvem do Firebase
- Excluir periodicamente as contas do Firebase não utilizadas.
- Moderar automaticamente as imagens enviadas.
- Enviar e-mails em massa para usuários.
- Agregar e resumir os dados periodicamente.
- Processar uma fila de tarefas pendentes.
Integrar com serviços e APIs de terceiros
O Cloud Functions pode ajudar seu app a funcionar melhor com outros serviços, chamando e expondo APIs da Web. Por exemplo, um app usado para colaboração no desenvolvimento pode publicar as confirmações do GitHub em uma sala de chat grupo de trabalho.
- Um usuário envia as confirmações para um repositório do GitHub.
- Uma função HTTPS é acionada por meio da API GitHub webhook.
- A função envia uma notificação de confirmação para um canal do Slack da equipe.
Outras maneiras de integrar com serviços e APIs de terceiros
- Usar a API Cloud Vision do Google para analisar e marcar imagens enviadas.
- Traduzir mensagens com o Google Tradutor.
- Usar provedores de autenticação, como LinkedIn ou Instagram, para fazer login dos usuários.
- Enviar uma solicitação para um webhook em gravações do Realtime Database.
- Habilitar a pesquisa de texto completo em elementos do Realtime Database.
- Processar pagamentos dos usuários.
- Criar respostas automáticas para chamadas telefônicas e mensagens SMS.
- Criar um bot de chat com o Google Assistente.