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:
- Solicita que você especifique os valores de configuração (parâmetros) necessários a serem usados para essa instância da extensão.
- Ativa as APIs listadas a partir do arquivo
extension.yaml
para o projeto. - 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.
- 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
Conheça Extensions Hub.
Instale uma extensão no seu projeto usando o console Firebase ou a CLI Firebase.