O que posso fazer com o Cloud Functions?

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:

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.

Diagrama mostrando o fluxo do app descrito abaixo

  1. A função é acionada nas gravações do Realtime Database no caminho em que os seguidores são armazenados.
  2. A função compõe uma mensagem a ser enviada usando o FCM.
  3. 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

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:

Diagrama mostrando o fluxo do app descrito abaixo

  1. 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.
  2. A função processa o texto para detectar e eliminar qualquer linguagem imprópria.
  3. 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

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.

Diagrama mostrando o fluxo do app descrito abaixo

  1. Uma função é acionada quando um arquivo de imagem é enviado para o Cloud Storage.
  2. A função faz o download da imagem e cria uma versão em miniatura.
  3. A função grava a localização da miniatura no banco de dados para que o app cliente possa encontrá-la e usá-la.
  4. A função faz o upload da miniatura de volta para o Cloud Storage em um novo local.
  5. 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

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.

Diagrama mostrando o fluxo do app descrito abaixo

  1. Um usuário envia as confirmações para um repositório do GitHub.
  2. Uma função HTTPS é acionada por meio da API GitHub webhook.
  3. 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