O que você pode fazer com o Cloud Functions?

O Cloud Functions oferece aos desenvolvedores acesso a eventos do Firebase e do Google Cloud, além de poder de computação escalonável para executar código em resposta a esses eventos. Embora seja esperado que os aplicativos do Firebase usem o Cloud Functions de maneiras exclusivas para atender a seus requisitos exclusivos, os casos de uso típicos podem se enquadrar nestas áreas:

Revise os casos de uso e exemplos de cada categoria de seu interesse e prossiga para nosso tutorial de primeiros passos ou para guias de instruções específicos para eventos de autenticação , eventos de análise e muito mais.

Notifique os 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 aos usuários acompanhar as atividades uns dos outros no aplicativo. Cada vez que um usuário se adiciona como seguidor de outro usuário, ocorre uma gravação no Realtime Database. Então, esse evento de gravação poderia acionar uma função para criar notificações do Firebase Cloud Messaging (FCM) para informar aos usuários apropriados que ganharam novos seguidores.

Diagrama mostrando o fluxo do aplicativo descrito abaixo

  1. A função é acionada em gravações no caminho do Realtime Database onde os seguidores estão armazenados.
  2. A função compõe uma mensagem para enviar via FCM .
  3. O FCM envia a mensagem de notificação para o dispositivo do usuário.

Para revisar o código funcional, consulte o código de exemplo no GitHub:

Outros casos de uso de notificação interessantes

  • Envie e-mails de confirmação aos usuários que assinam um boletim informativo.
  • Envie um e-mail de boas-vindas quando um usuário concluir a inscrição.
  • Envie uma confirmação por SMS quando um usuário criar uma nova conta.

Execute a limpeza e manutenção do banco de dados

Com o tratamento de eventos de banco de dados do Cloud Functions, você pode modificar o Realtime Database ou o Cloud Firestore em resposta ao comportamento do usuário, mantendo o sistema no estado desejado. Por exemplo, você pode monitorar eventos de gravação e alterar o formato (por exemplo, alterar para letras maiúsculas) de determinadas cadeias de caracteres nas mensagens dos usuários. Veja como isso poderia funcionar:

Diagrama mostrando o fluxo do aplicativo descrito abaixo

  1. O manipulador de eventos do banco de dados da função escuta eventos de gravação em um caminho específico e recupera dados de eventos contendo o texto de uma mensagem.
  2. A função processa o texto para alterar as strings para maiúsculas.
  3. A função grava o texto atualizado de volta no banco de dados.

Para revisar o código funcional, consulte o código de exemplo no GitHub:

Outros casos de uso de limpeza e manutenção de banco de dados

  • Limpar o conteúdo de um usuário excluído do Realtime Database.
  • Limite o número de nós filhos em um banco de dados Firebase.
  • Acompanhe o número de elementos em uma lista do Realtime Database.
  • Copie dados do Realtime Database para o Google Cloud BigQuery.
  • Converta texto em emoji.
  • Gerencie metadados computados para registros de banco de dados.

Execute tarefas intensivas na nuvem em vez de no seu aplicativo

Você pode aproveitar o Cloud Functions para transferir para a nuvem do Google o trabalho que consome muitos recursos (CPU ou rede pesada) em vez de executá-lo no dispositivo de um usuário, melhorando a capacidade de resposta do seu aplicativo. Por exemplo, você pode escrever uma função para detectar uploads de imagens para o Cloud Storage, fazer download da imagem para a instância que executa a função, modificá-la e fazer upload dela de volta para o Cloud Storage. Suas modificações podem incluir redimensionar, cortar ou converter imagens com ferramentas como Sharp ou Pillow .

Diagrama mostrando o fluxo do aplicativo descrito abaixo

  1. Uma função é acionada quando um arquivo de imagem é carregado no Cloud Storage.
  2. A função baixa a imagem e cria uma versão em miniatura dela.
  3. A função grava o local da miniatura no banco de dados, para que um aplicativo cliente possa localizá-lo e usá-lo.
  4. A função carrega a miniatura de volta para o Cloud Storage em um novo local.
  5. O aplicativo baixa o link da miniatura.

Para ver um exemplo de processamento de imagem, consulte o guia para lidar com eventos do Cloud Storage .

Outros exemplos de trabalhos em lote na nuvem Firebase

  • Exclua periodicamente contas não utilizadas do Firebase Node.js | Pitão .
  • Faça backup automático das imagens enviadas Node.js | Pitão .
  • Envie e-mails em massa aos usuários.
  • Agregue e resuma dados periodicamente.
  • Processe uma fila de trabalhos pendentes.

Integre-se com serviços e APIs de terceiros

O Cloud Functions pode ajudar seu aplicativo a funcionar melhor com outros serviços chamando e expondo APIs da Web. Por exemplo, um aplicativo usado para colaboração no desenvolvimento poderia postar commits do GitHub em uma sala de bate-papo de um grupo de trabalho.

Diagrama mostrando o fluxo do aplicativo descrito abaixo

  1. Um usuário envia commits para um repositório GitHub.
  2. Uma função HTTPS é acionada por meio da API webhook do GitHub .
  3. A função envia uma notificação do commit para um canal da equipe no Slack.

Outras maneiras de integração com serviços e APIs de terceiros

  • Use a API Google Cloud Vision para analisar e marcar imagens enviadas.
  • Traduza mensagens usando o Google Tradutor.
  • Use autenticação personalizada para conectar usuários.
  • Envie uma solicitação para um webhook nas gravações do Realtime Database.
  • Ative a pesquisa de texto completo em elementos do Realtime Database.
  • Processar pagamentos de usuários.
  • Crie respostas automáticas para chamadas telefônicas e mensagens SMS.
  • Crie um chatbot usando o Google Assistant.