Extensões do Firebase
As Extensões do Firebase ajudam você a implantar funcionalidades em seu aplicativo 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 ao acionamento de eventos de outros produtos do Firebase, como Cloud Firestore ou Firebase Cloud Messaging.
Explore o Extensions Hub Aprenda como instalar uma extensão Aprenda como criar sua própria extensão
Principais capacidades
Reduza o tempo gasto em desenvolvimento, manutenção e crescimento | Como uma extensão é uma solução empacotada, tudo o que você faz é instalar e configurar a extensão. Com extensões, você não perde tempo pesquisando, escrevendo e depurando o código que implementa funcionalidades ou automatiza uma tarefa para seu aplicativo ou projeto. Explore o Extensions Hub para encontrar soluções para seu aplicativo ou projeto. |
Construído para ser configurável e reutilizável | Cada instância instalada de uma extensão é única. 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 qualquer coisa: um caminho do Cloud Firestore, dimensões de imagem ou um URL do GitHub. Você pode reutilizar a mesma extensão em projetos diferentes. Você pode 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 Firebase | As extensões podem preencher a peça que faltava na sua 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 sua tarefa, até mesmo uma tarefa que usa 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 BigQuery e Google Translate) ou até mesmo serviços de terceiros (como Mailchimp e Bit.ly). E os eventos desencadeadores não estão limitados aos eventos do Firebase; você pode até 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, para que o código fique totalmente isolado do cliente. Além disso, as próprias extensões são isoladas do restante do projeto porque uma extensão instalada recebe acesso limitado apenas aos recursos e dados que estão claramente listados antes da instalação. |
Manutenção zero | Instale e configure uma extensão para seu projeto do Firebase. Depois disso, o back-end aumenta ou diminui automaticamente os recursos de computação para atender às necessidades da sua extensão. Você nunca se preocupa com credenciais, configuração de servidores, provisionamento de novos servidores ou descomissionamento de servidores antigos. |
Como funciona?
Basicamente, uma extensão do Firebase é um código que executa uma tarefa sempre que um evento especificamente definido ocorre em 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).
Embora as extensões usem funções, um recurso importante de diferenciação entre 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á
- As funções de acesso que a extensão requer para operar
- Os recursos específicos da extensão que a extensão requer para operar
- Os parâmetros configuráveis para a extensão
Você pode instalar uma extensão em um projeto diversas vezes, com cada instância instalada tendo uma configuração diferente.
Quando você instala uma instância de uma extensão, o Firebase faz o seguinte:
- Solicita que você especifique os valores de configuração (parâmetros) necessários a serem usados para esta instância da extensão.
- Ativa as APIs listadas do arquivo
extension.yaml
para o projeto. - Cria uma nova conta de serviço a ser usada por esta instância da extensão e atribui a ela as funções de acesso listadas. A instância de extensão executa seu código usando o acesso concedido a esta conta de serviço.
- Provisiona os recursos listados para a instância de extensão (por exemplo, uma função).
Observe que cada instância instalada de extensões 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 o README
, que contém informações para ajudá-lo a concluir tarefas de configuração adicionais ou a usar a extensão em geral.
Após a instalação, você pode reconfigurar uma extensão (especificar novos valores de parâmetros), bem como 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 do Firebase quanto o console do Firebase permitem instalar, visualizar e gerenciar extensões.
Caminho de implementação
Encontre uma extensão | Explore as extensões disponíveis no Extensions Hub . | |
Avalie, instale e configure uma extensão | Ao encontrar uma extensão que atenda a uma necessidade do seu aplicativo ou projeto, você pode avaliar a extensão com o emulador de extensões e, em seguida, instalar a extensão por meio do console do Firebase ou da CLI do Firebase . Configure a extensão para que ela seja personalizada para seu aplicativo ou projeto. | |
Gerenciar a extensão | Visualize e gerencie a extensão instalada usando o console do Firebase ou a CLI do Firebase . |
Próximos passos
Explore o Hub de Extensões .
Instale uma extensão no seu projeto usando o console do Firebase ou a CLI do Firebase .