Extensões do Firebase

As extensões do Firebase ajudam a implantar a funcionalidade no seu app rapidamente com soluções pré-empacotadas.

Depois de instalada, uma extensão do Firebase executa uma tarefa específica ou um conjunto de tarefas em resposta a solicitações HTTPS, eventos do Cloud Scheduler ou para acionar eventos de outros produtos do Firebase, como o Cloud Firestore ou o 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 específica do Realtime Database pode acionar o envio de uma nova notificação do 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 extensão do Firebase é 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 o Cloud Functions para 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 do Cloud Firestore, uma solicitação HTTPS ou um evento do 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 Firebase CLI quanto o Console do Firebase permitem que você instale, visualize e gerencie extensões.

Caminho de implementação

Encontrar uma extensão

Conheça as extensões disponíveis no 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ões e instalá-la usando o Console do Firebase ou a CLI do Firebase.

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

Gerenciar a extensão

Veja e gerencie a extensão instalada usando o Console do Firebase ou a CLI do Firebase.

Próximas etapas