Este documento contém uma lista de verificação de práticas recomendadas e considerações antes de desenvolver um app do Firebase.
Práticas recomendadas gerais para lançamentos
Teste todas as mudanças no Firebase Local Emulator Suite (para produtos compatíveis) antes de implantar para a produção. Testes completos podem ajudar a evitar erros dispendiosos.
Comece a aplicar Firebase App Check em todos os serviços compatíveis. O App Check ajuda a garantir que apenas seus apps reais possam acessar seus serviços e recursos de back-end.
Consulte a lista de verificação de segurança geral do Firebase.
Use os lançamentos da Firebase Remote Config para lançar novos recursos e atualizações no app de forma segura e gradual.
Se ainda não fez isso, configure o Firebase Crashlytics. É uma ferramenta de relatório de erros leve e em tempo real que ajuda a monitorar, priorizar e corrigir problemas de estabilidade que comprometem a qualidade do seu app.
Conheça os limites do seu plano de preços e defina alertas de orçamento
Não ultrapasse as cotas e os limites de uso após a produção, especialmente se você tiver o plano Spark sem custos financeiros. Considere fazer upgrade para o plano de preços Blaze de pagamento por uso.
Configure alertas de orçamento para seu projeto.
Os alertas de orçamento não são limites de orçamento. Um alerta vai enviar comunicações quando você estiver se aproximando ou ultrapassar o limite configurado para que você possa tomar medidas no seu app ou projeto.
Considere configurar alertas e ações avançados, como funções que desativem o faturamento em resposta aos alertas.
Monitore seu uso nos painéis específicos do produto ou no painel central Uso e faturamento no console do Firebase.
Confirmar se os projetos e apps do Firebase seguem as práticas recomendadas
Seja você um desenvolvedor individual ou uma equipe empresarial, é importante garantir que seus projetos, apps e recursos do Firebase estejam protegidos e possam evoluir com as mudanças na equipe.
É importante lembrar que um projeto do Firebase nada mais é do um projeto do Google Cloud com serviços e configurações do Firebase ativados. Isso significa que muitas práticas recomendadas pelo Google Cloud também são aplicáveis ao Firebase.
Use projetos diferentes do Firebase para desenvolvimento, teste e produção.
Tente limitar a exposição inesperada ao projeto associado ao app de produção. Saiba mais sobre como configurar seus fluxos de trabalho de desenvolvimento.
Proteja seus projetos importantes, principalmente o associado ao app de produção.
Use garantias do projeto para evitar a exclusão acidental.
Aplique uma tag "Prod" no console do Firebase para facilitar a identificação do ambiente de produção.
Configure uma organização do Google Cloud e adicione seus projetos do Firebase a ela, se ainda não tiver feito isso.
Adicione mais de um proprietário aos seus projetos do Firebase, principalmente se o projeto não estiver em uma organização do Google Cloud. Saiba mais sobre quando e como atribuir proprietários a um projeto do Firebase.
Adicione os membros do projeto (também conhecidos como "princípios") como grupos do Google, em vez de individualmente.
O uso de grupos facilita a atribuição de papéis em massa aos membros da equipe, além de gerenciar quem tem acesso ao seu projeto do Firebase, principalmente para o caso de membros da equipe que saem da empresa ou são substituídos.
Conceda a cada membro do projeto (ou seja, "princípio") o nível de acesso adequado aos seus projetos e recursos do Firebase. Saiba mais em Gerenciar o acesso a projetos com o IAM do Firebase.
Garanta que cada membro do projeto aplicável (ou "princípio") configure as preferências para receber alertas sobre produtos ou estados específicos do projeto (como mudanças no plano de faturamento ou limites de cota). Saiba mais em Receber alertas do Firebase.
Restrinja as chaves de API do Firebase apenas às APIs que precisam estar na lista de permissões de APIs da chave. Confira também as informações sobre chaves de API na lista de verificação de segurança do Firebase.
Preparar serviços específicos usados no app
Cada produto e serviço usado no app pode ter considerações específicas quando usado na produção.
Google Analytics
Defina as condições de público-alvo para o Google Analytics começar a coletar dados de análise desde o lançamento do app.
Considere ativar a exportação de dados do Google Analytics para o BigQuery para que você possa analisar seus dados com o BigQuery SQL ou exportá-los para usar com suas próprias ferramentas.
Limite as propriedades do usuário a informações que serão relevantes para o ciclo de vida de todo o app. Há um limite para o número de propriedades que você pode criar, e elas não podem ser arquivadas.
Revise as configurações dos papéis do Google Analytics para suas contas e propriedades do Google Analytics. Essas permissões são gerenciadas separadamente das permissões e papéis do IAM do projeto do Firebase.
Verifique se o ID da App Store e o ID da equipe (se necessário) estão corretos nas Configurações do projeto do console do Firebase.
App Check
Confira se o ID da equipe está correto nas Configurações do projeto do console do Firebase.
Ative o Firebase App Check em todos os serviços compatíveis, caso ainda não tenha feito isso. O App Check ajuda a garantir que apenas seus apps reais possam acessar seus serviços e recursos de back-end.
Authentication
Desative todos os provedores que você não está usando (principalmente a autenticação anônima).
Se o app usa o recurso Fazer login com o Google, personalize a tela de permissão OAuth.
Personalize seu domínio e o remetente para o serviço de envio de e-mail de Authentication.
Se você estiver usando os serviços de verificação por SMS do Identity Platform, comece a aplicar o Firebase App Check e configure uma política de região de SMS para proteger seu app contra abusos de SMS.
Implemente o tratamento de erros nas plataformas da Apple para erros comuns de Authentication.
Adicione um hash SHA-1 de versão ao certificado de assinatura do app nas Configurações do projeto do console do Firebase. O hash SHA-1 é necessário se o app usa o login por número de telefone ou o recurso Fazer login com o Google (que tem um requisito de cliente OAuth).
Adicione o controle de acesso aos seus domínios para impedir o uso não autorizado. Permita especificamente o acesso ao seu domínio de produção na seção Authentication do console do Firebase. Isso é especialmente importante se você usa produtos que dependem das Firebase Security Rules.
Cloud Firestore
Configure as Cloud Firestore Security Rules para evitar acesso não intencional aos dados.
Use o ProGuard para redução de código no seu build de lançamento. Sem o ProGuard, o SDK do Cloud Firestore e as dependências dele podem aumentar o tamanho do APK.
Cloud Messaging
Considere ativar a exportação de dados do Cloud Messaging para o BigQuery para que você possa analisar seus dados com o BigQuery SQL ou exportá-los para usar com suas próprias ferramentas.
Faça upload da chave de autenticação de APNS para Cloud Messaging em apps da Apple no console do Firebase. Se você estiver usando certificados APNS, verifique se o certificado de produção foi carregado.
Cloud Storage
- Configure as Cloud Storage Security Rules para evitar o acesso não intencional aos dados.
Crashlytics
Garanta que cada membro do projeto aplicável (ou "princípio") configure as preferências para receber alertas sobre o Crashlytics ou o estado do projeto (como mudanças no plano de faturamento ou limites de cota). Saiba mais em Receber alertas do Firebase.
Considere ativar a exportação de dados do Crashlytics para o BigQuery para que você possa analisar seus dados com o BigQuery SQL ou exportá-los para usar com suas próprias ferramentas.
(somente Android e iOS nativos) Ative a assistência de IA no Crashlytics para acelerar o tempo necessário para entender por que uma falha ocorreu e o que fazer a respeito disso.
Faça upload do arquivo dSYM de builds de lançamento para uso no Crashlytics. Confirme que o Xcode é capaz de processar dSYMs e fazer upload dos arquivos automaticamente.
Faça o upload do mapeamento do ProGuard para builds de lançamento para uso na Crashlytics. É possível fazer o upload usando a CLI do Firebase.
Vincule o Firebase ao Google Play para ter uma visão mais detalhada da integridade do seu app Android. Por exemplo, é possível filtrar os relatórios de erros do app por faixa do Google Play. Isso permite que você configure o painel para verificar builds específicos.
Para builds direcionados ao Android e que usam o IL2CPP, verifique se você está fazendo upload de símbolos nativos para cada execução de build individual em que você espera ter símbolos, independentemente de se houve mudanças de código ou de configuração.
Dynamic Links
- Dynamic Links foi descontinuado. Recomendamos migrar para outro serviço. Saiba mais nas Perguntas frequentes sobre descontinuação.
Firebase ML
Consulte Como preparar seu app da Apple do Firebase ML para produção.
Consulte Como preparar seu app Android do Firebase ML para produção.
Performance Monitoring
Garanta que cada membro do projeto aplicável (ou "princípio") configure as preferências para receber alertas sobre o Performance Monitoring ou o estado do projeto (como mudanças no plano de faturamento ou limites de cota). Saiba mais em Receber alertas do Firebase.
Considere ativar a exportação de dados do Performance Monitoring para o BigQuery para que você possa analisar seus dados com o BigQuery SQL ou exportá-los para usar com suas próprias ferramentas.
Realtime Database
Configure as Realtime Database Security Rules para evitar o acesso não intencional aos dados.
Verifique se está tudo pronto para o escalonamento. O Realtime Database tem uma cota padrão grande o suficiente para a maioria dos aplicativos, mas alguns apps podem precisar de capacidade extra.
Configure suas regras do ProGuard para trabalhar com o Realtime Database.
Remote Config
- Confira se as regras experimentais da Remote Config não afetam os usuários da versão e se os padrões apropriados do servidor e do app foram distribuídos no app.