Firebase Extensions

O Firebase Extensions ajuda você a implantar funcionalidades no seu app rapidamente com soluções prontas para uso.

Depois de instalado, um Firebase Extension executa uma tarefa específica ou de tarefas em resposta a solicitações HTTPS, eventos Cloud Scheduler ou para acionar eventos de outros produtos do Firebase, como Cloud Firestore ou Firebase Cloud Messaging.

Conheça o Extensions Hub Saiba como instalar uma extensão Saiba como criar sua própria extensão


Principais recursos

Reduza o tempo gasto em desenvolvimento, manutenção e crescimento

Como uma extensão é uma solução em pacote, você só precisa instalá-la e configurá-la.

Com as extensões, você não passa tempo pesquisando, escrevendo e depurando o código que implementa a funcionalidade ou automatiza uma tarefa para seu app ou projeto.

Conheça o Extensions Hub para encontrar soluções para seu app ou projeto.

Desenvolvido para ser configurável e reutilizável

Cada instância instalada de uma extensão é exclusiva.

Você especifica valores de configuração para a extensão que são exclusivos para seu aplicativo, projeto ou caso de uso. Dependendo do que a extensão faz, esses valores podem ser quase tudo: um caminho do Cloud Firestore, dimensões de imagem ou um URL do GitHub.

A mesma extensão pode ser reutilizada em projetos diferentes. É possível até instalar várias instâncias da mesma extensão em um único projeto. Cada instância instalada pode ter sua própria configuração personalizada.

Integra a plataforma do Firebase

As extensões podem preencher a parte ausente da arquitetura existente.

As extensões podem responder a eventos gerados pelos produtos do Firebase que você já usa no seu aplicativo. Uma alteração em um produto do Firebase pode acionar uma extensão para executar a tarefa, mesmo uma tarefa que esteja usando outro produto. Por exemplo, uma gravação Realtime Database específica pode acionar o envio de uma nova notificação Firebase Cloud Messaging.

Uma extensão também pode integrar seu projeto do Firebase com outros produtos do Google Cloud Platform (como o BigQuery e o Google Tradutor) ou até mesmo serviços de terceiros (como Mailchimp e Bit.ly).

E o acionamento de eventos não está limitado aos eventos do Firebase, é possível, até mesmo, acionar uma extensão diretamente com uma solicitação HTTPS ou em um intervalo programado.

Segurança e acesso limitado

A lógica do aplicativo para extensões é executada no back-end, usando o Google Cloud Functions. Portanto, o código é totalmente isolado do cliente.

Além disso, as próprias extensões são isoladas do restante do projeto porque uma extensão instalada tem acesso limitado apenas aos recursos e dados listados claramente antes da instalação.

Manutenção zero

Instale e configure uma extensão para seu projeto do Firebase. Depois disso, o back-end escalona automaticamente os recursos de computação para atender às necessidades da sua extensão.

Você não precisa se preocupar com credenciais, configuração e provisionamento de novos servidores ou desativação dos antigos.

Como funciona?

Basicamente, uma Firebase Extension é um código que executa uma tarefa sempre que um evento definido especificamente ocorre no seu aplicativo ou projeto.

A lógica de uma extensão é escrita usando Cloud Functions for Firebase As funções em uma extensão definem os provedores de eventos e as condições que acionam a execução (por exemplo, uma gravação Cloud Firestore, uma solicitação HTTPS ou um evento Cloud Scheduler).

Mesmo que as extensões usem funções, um recurso importante para diferenciar extensões e funções é que uma extensão depende de um arquivo de especificação extension.yaml, que define explicitamente:

  • Os serviços do Google (APIs) que a extensão usará
  • Os papéis de acesso que a extensão exige para funcionar
  • Os recursos específicos da extensão necessários ao funcionamento dela
  • Os parâmetros configuráveis para a extensão

Você pode instalar uma extensão em um projeto várias vezes, cada uma delas com uma configuração diferente.

Quando você instala uma instância de uma extensão, o Firebase realiza as seguintes ações:

  1. Solicita que você especifique os valores de configuração (parâmetros) necessários a serem usados para essa instância da extensão.
  2. Ativa as APIs listadas a partir do arquivo extension.yaml para o projeto.
  3. Cria uma nova conta de serviço a ser usada por essa instância da extensão e atribui a ela os papéis de acesso listados. A Instância de extensão executa o código usando o acesso concedido a essa conta de serviço.
  4. Provisiona os recursos listados para a instância de extensão, como uma função.

Cada instância instalada de uma extensão tem sua própria conta de serviço e recursos provisionados individualmente.

Além do arquivo extension.yaml, o diretório de extensão também inclui arquivos de instrução, como README, que contêm informações para ajudar você a concluir outras tarefas de configuração ou geralmente usam a extensão.

Após a instalação, você pode reconfigurar uma extensão (especificar novos valores de parâmetro) e atualizar uma extensão para uma versão mais recente. Você também pode desinstalar uma extensão do seu projeto a qualquer momento.

Tanto a CLI Firebase quanto o console do Firebase permitem que você instale, veja e gerencie extensões.

Caminho de implementação

Encontrar uma extensão

Conheça as extensões disponíveis em Extensions Hub.

Avaliar, instalar e configurar uma extensão

Quando você encontrar uma extensão que resolva uma necessidade no app ou no projeto, poderá avaliar a extensão com o Emulador de extensõesExtensions e instalá-la usando o Console do Firebase ou a CLI Firebase.

Configure a extensão para que ela seja personalizada para seu aplicativo ou projeto.

Gerenciar a extensão

Confira e gerencie a extensão instalada usando o console Firebase ou a CLI Firebase.

Próximas etapas