Ir para o console

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 de seu interesse e faça nosso tutorial de primeiros passos. Você também pode 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 engajados e atualizados com informações relevantes sobre um app. Considere, por exemplo, um app que permite aos usuários seguir as atividades uns dos outros. Nesse app, uma função acionada por gravações do Realtime Database para armazenar novos seguidores poderia criar notificações do Firebase Cloud Messaging (FCM) para permitir que os usuários em questão saibam que ganharam novos seguidores.

  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 para ser enviada via 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 manutenção do Realtime Database

Com o gerenciamento de eventos do banco de dados do Cloud Functions, você pode modificar o Realtime Database em resposta ao comportamento do usuário para manter o sistema atualizado e limpo. Por exemplo, em um app de sala de bate-papo criado no Realtime Database, você pode monitorar eventos de gravação e apagar texto impróprio ou desrespeitoso das mensagens dos usuários. Veja como isso poderia funcionar:

  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 bate-papo.
  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 bate-papo.

Outros casos de uso da sanitização e manutenção do Realtime Database

Executar tarefas intensivas na nuvem em vez de no seu app

Os desenvolvedores podem usar o Cloud Functions para reduzir a carga de trabalho que usa muitos recursos para a nuvem do Google (trabalhos que usam muita CPU ou rede), a qual não seria executada de maneira prática no dispositivo de um usuário. Por exemplo, você pode criar uma função para ouvir os uploads de imagem no Storage, fazer o download da imagem para a instância que executa a função, modificá-la e fazer o upload de volta ao 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.

  1. Uma função é acionada quando um arquivo de imagem é enviado para o 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 Storage em um novo local.
  5. O app faz o download do link da miniatura.

Para ver as instruções de um exemplo de processamento de imagens (em inglês), 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 os commits do GitHub em uma sala de bate-papo do grupo de trabalho.

  1. Um usuário envia os commits 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 do commit para um canal do Slack da equipe.

Outras maneiras de integrar com serviços e APIs de terceiros