Você está enfrentando algum outro desafio ou seu problema não está descrito abaixo? Informe um bug ou solicite um recurso e participe das discussões no Stack Overflow.
Projetos do Firebase e apps do Firebase
O que é um projeto do Firebase?
Um projeto é um contêiner de apps para iOS, Android e Web. Ele oferece suporte ao compartilhamento de recursos, como banco de dados, configurações e notificações entre apps multiplataformas.
As variantes de apps para iOS, Android e Web devem ser adicionadas a um único projeto. É possível usar vários projetos compatíveis com diversos ambientes, como de desenvolvimento, teste e produção.
Como adiciono o Firebase a um projeto do Google Cloud?
É possível ter projetos gerenciados por meio do Console do Google Cloud ou do Console de APIs do Google. Por padrão, esses projetos ficam visíveis no Console do Firebase, mas não são considerados projetos do Firebase.
Para adicionar o Firebase ao seu projeto atual do Google Cloud, clique em Adicionar projeto na página de destino do Console do Firebase e selecione seu projeto no menu Nome do projeto.
Quantos projetos posso ter por conta?
- Plano Spark de nível gratuito - A cota de projetos é limitada a um pequeno número de projetos (geralmente, em torno de 5 a 10).
- Planos pagos: a cota de projeto por conta do Cloud Billing aumenta substancialmente, desde que sua conta do Cloud Billing esteja em situação regular.
O limite da cota do projeto raramente é uma preocupação para a maioria dos desenvolvedores. No entanto, é possível solicitar um aumento na sua cota do projeto.
Observe que a exclusão completa de um projeto requer 30 dias e ele continuará a afetar sua cota até ser totalmente excluído.
Quantos apps do Firebase são permitidos em um projeto?
Um projeto do Firebase é um contêiner para apps do Firebase no iOS, Android e na Web. O Firebase restringe o número total de apps do Firebase em um projeto do Firebase para 30.
Depois desse número, o desempenho começa a cair (especialmente para o Google Analytics) e, finalmente, em um número maior de apps, algumas funcionalidades de produto param de funcionar. Além disso, adicionar um app do Firebase a um projeto cria um ou mais IDs do cliente OAuth 2.0 subjacentes. Há um limite de cerca de 30 IDs do cliente que podem ser criados em um único projeto.
É preciso garantir que todos os apps do Firebase em um único projeto do Firebase sejam variantes de plataforma do mesmo aplicativo, do ponto de vista do usuário final. Por exemplo, se você desenvolver um aplicativo de marca branca, cada app com uma marca independente precisa ter um projeto do Firebase próprio. Acesse Conheça os projetos do Firebase para conhecer mais práticas recomendadas sobre projetos do Firebase e apps do Firebase.
Nos raros casos em que seu projeto requer mais de 30 apps, é possível solicitar um aumento no limite de apps. Seu projeto precisa estar no plano de faturamento Blaze para fazer esta solicitação. Acesse o Console do Google Cloud para fazer a solicitação e avaliá-la. Saiba mais sobre gerenciamento de cotas na documentação do Google Cloud.
Onde posso encontrar o ID do meu app do Firebase?
No Console do Firebase, acesse as settings Configurações do projeto. Role para baixo até o card Seus apps e clique no app do Firebase desejado para visualizar as informações do app, incluindo o ID do app.
Veja alguns exemplos de valores do ID do app:
-
Apps iOS do Firebase:
1:1234567890:ios:321abc456def7890
-
Apps Android do Firebase:
1:1234567890:android:321abc456def7890
-
Apps da Web do Firebase:
1:1234567890:web:321abc456def7890
É necessário fornecer um SHA-1 ao adicionar um aplicativo Android?
As informações de SHA-1 são exigidas pelo Firebase Authentication ao usar o Login do Google ou o login com número de telefone e pelo Firebase Dynamic Links. Se você não usa esses recursos, não precisa fornecer um SHA-1.
Como resolver este erro: "Já existe um cliente OAuth2 com esse nome de pacote e SHA-1 em outro projeto"?
Isso ocorre quando detectamos outro projeto do Firebase ou do Google Cloud que contém um ID do cliente OAuth 2.0 com o nome de pacote e SHA-1 especificados. Resolva esse erro seguindo as instruções neste artigo.
Quando adiciono o Firebase ao meu projeto Android, recebo a mensagem de erro "Não foi possível encontrar".
Esse erro geralmente significa que o app não tem uma ou mais referências
ao repositório Maven do Google. No arquivo build.gradle
para envolvidos no projeto, inclua
o repositório Maven do Google (google()
) nas seções
buildscript
e allprojects
.
Quais são os pré-requisitos para vincular o Play/AdMob/AdWords/BigQuery ao projeto do Firebase?
- Para vincular sua conta do Google Play, você precisa ser proprietário dela e do projeto do Firebase.
- Para vincular o app da AdMob, você precisa ser proprietário do projeto do Firebase e administrador da AdMob.
- Para vincular sua conta do Google AdWords, você precisa ser proprietário do projeto do Firebase e administrador do Google AdWords.
- Para vincular o projeto do BigQuery, você precisa ser proprietário do projeto do Firebase.
Quais avisos de código aberto devem ser incluídos em meu aplicativo?
No iOS, o pod do Firebase contém um arquivo NOTICES que inclui as entradas relevantes. O SDK Android contém uma atividade auxiliar para mostrar informações sobre a licença.
Quais versões do Xcode são aceitas pelo Firebase?
O Firebase é compatível com até duas versões principais do Xcode, não incluindo versões do Xcode às quais a Apple não oferece mais suporte. Por exemplo, a partir de março de 2019, a Apple exige pelo menos o iOS 12 em todos os apps para iOS, o que significa que o suporte ao Xcode 9 será descontinuado e o Xcode 10 será a única versão principal compatível.
As alterações no suporte a versões secundárias ou de patch específicas do Xcode (por exemplo, 9.2.0 a 9.4.1) são determinadas com base nas necessidades do SDK do Firebase para iOS e em uma pesquisa de uso do desenvolvedor. Essas alterações são refletidas nas notas de lançamento e na página de configuração do SDK do Firebase para iOS.
Para ver a versão mínima do Xcode aceita pelo SDK do Firebase para iOS, verifique os requisitos listados na página Adicionar o Firebase ao seu projeto do iOS.
O suporte do Firebase para versões Beta do Xcode está disponível de acordo com o modelo de "melhor esforço". Os desenvolvedores podem acompanhar e enviar problemas no repositório do SDK do Firebase para iOS no GitHub.
Console do Firebase
Quais são os navegadores compatíveis para acessar o Console do Firebase?
Para acessar o Console do Firebase, use versões recentes de navegadores conhecidos, como Chrome, Firefox, Safari e Edge. No momento, navegadores de dispositivos móveis não são totalmente compatíveis.
Como é definido o idioma do Console do Firebase?
A configuração do idioma do Console do Firebase tem como base o idioma selecionado nas configurações da sua Conta do Google. Para alterar sua preferência de idioma, consulte Alterar idioma.
O Console do Firebase está disponível nos seguintes idiomas:
- Inglês
- Português (Brasil)
- Francês
- Alemão
- Indonésio
- Japonês
- Coreano
- Russo
- Chinês simplificado
- Espanhol
- Chinês tradicional
Que papéis e permissões são usados no Console do Firebase?
O Console do Firebase e o Google Cloud Console usam os mesmos papéis e permissões subjacentes. Saiba mais sobre papéis e permissões na documentação do IAM do Firebase.
O Firebase aceita os papéis fundamentais (básicos) de proprietário, editor e leitor:
- O proprietário de um projeto pode adicionar outros membros e configurar integrações (vinculação de projetos a serviços como o BigQuery ou o Slack) e tem acesso total para edição no projeto.
- O editor de um projeto tem acesso total para edição no projeto.
- O leitor de um projeto tem apenas acesso de leitura no projeto. Observe que, no momento, o Console do Firebase não oculta/desativa controles de IU de edição dos visualizadores do projeto, mas essas operações não funcionam para membros do projeto que receberam o papel de visualizador.
O Firebase também é compatível com os seguintes papéis:
- Papéis predefinidos do Firebase: papéis específicos do Firebase que permitem um controle de acesso mais granular do que os papéis básicos de proprietário, editor e visualizador.
- Papéis personalizados: papéis do IAM totalmente personalizados criados para adaptar um conjunto de permissões que atendam aos requisitos específicos da sua organização.
Preços
Quais produtos são pagos? Quais são gratuitos?
Os produtos de infraestrutura pagos do Firebase são o Realtime Database, Cloud Storage, Functions, Hosting, Test Lab e autenticação por telefone. Oferecemos um nível gratuito para todos esses recursos.
O Firebase também tem muitos produtos gratuitos: Analytics, Cloud Messaging, Editor de notificações, Configuração remota, Indexação de apps, Dynamic Links e Crash reporting. Você pode usar uma quantidade ilimitada deles em todos os planos, incluindo no nosso plano Spark gratuito. Além disso, todos os recursos do Authentication são gratuitos, exceto a autenticação por telefone.
O Firebase oferece créditos de avaliação gratuita para produtos pagos?
Os serviços pagos do Firebase podem ser usados na Avaliação gratuita do Google Cloud. Novos usuários do Google Cloud e do Firebase podem aproveitar um período de avaliação de 90 dias que inclui US$ 300 em créditos do Cloud Billing para explorar e avaliar os produtos e serviços do Google Cloud e do Firebase.
Durante o período de avaliação gratuita do Google Cloud, você receberá uma conta de avaliação gratuita do Cloud Billing. Qualquer projeto do Firebase que usa essa conta de faturamento estará no plano de faturamento Blaze durante o período de avaliação gratuita.
Não se preocupe. A configuração desta conta de avaliação gratuita do Cloud Billing não permite que você seja cobrado. Você não receberá cobranças a menos que ative explicitamente o faturamento. Para isso, faça upgrade da sua conta de avaliação gratuita do Cloud Billing para uma conta paga. É possível fazer isso a qualquer momento durante o período de teste. Depois do upgrade, ainda será possível usar os créditos restantes (dentro do período de 90 dias).
Quando a avaliação gratuita expirar, você precisará fazer o downgrade do seu projeto para o plano de faturamento Spark ou configurar o plano de faturamento por utilização Blaze no Console do Firebase para continuar usando seu projeto do Firebase.
Saiba mais sobre a avaliação gratuita do Google Cloud.
Como saber qual plano é ideal para mim?
Plano de faturamento do Spark
Nosso plano Spark é um ótimo local para desenvolver seu app gratuitamente. Você receberá todos os recursos gratuitos do Firebase (Analytics, Editor de Notificações, Crash reporting etc.) e cotas generosas dos nossos produtos de infraestrutura pagos. No entanto, se você exceder os recursos do plano Spark em um mês, seu app será desativado durante o restante do mês. Além disso, os recursos do Google Cloud não estão disponíveis no nível Spark.
Plano de faturamento Blaze
Nosso plano Blaze é projetado para aplicativos de produção. Com o plano Blaze, também é possível ampliar seu app com recursos premium do Google Cloud. Você paga apenas pelos recursos que consumir, o que permite dimensionamento conforme a demanda. Nós nos esforçamos para tornar os preços do plano Blaze competitivos em relação aos provedores de nuvem líderes do setor.
Como posso monitorar meu uso e faturamento?
É possível rastrear o uso de recursos do projeto no Console do Firebase em qualquer um dos seguintes painéis:
- Painel de uso e faturamento
- Painel de uso do Cloud Storage
- Painel de uso do banco de dados (Cloud Firestore e Realtime Database)
- Painel de uso do Hosting
O que aconteceu com o plano de faturamento Flame?
A partir de janeiro de 2020, o plano de faturamento Flame (US$ 25/mês da cota adicional) não estará mais disponível para novas inscrições.
- Os projetos em planos Spark e Blaze existentes não podem mais trocar ou se inscrever no plano Flame.
- Se você transferir um projeto de plano Flame para um plano de faturamento diferente, o projeto não poderá retornar ao plano Flame.
- Os projetos existentes do plano Flame podem continuar usando o plano Flame por enquanto. No entanto, você receberá informações nos próximos meses sobre o cronograma necessário para migrar para outro plano de faturamento.
- As referências ao plano Flame foram removidas da documentação.
Você tem mais dúvidas sobre a desativação do plano Flame? Leia algumas das Perguntas frequentes adicionais abaixo.
Quer saber mais sobre os outros planos de faturamento oferecidos pelo Firebase? Visite nossa página de preços do Firebase. Se você quiser começar a migração de projetos existentes para outro plano de faturamento, é possível fazer isso no Console do Firebase do seu projeto.
Para projetos existentes do plano Flame, as cotas de plano e a disponibilidade de recursos permanecem em vigor.
- O plano Flame não fornece nenhuma cota de uso para os
seguintes produtos:
BigQuery e outros IaaS do Google Cloud - O plano Flame inclui uma cota de uso gratuito para os seguintes
produtos:
Teste A/B, Analytics, Indexação de apps, Cloud Messaging (FCM), Crashlytics, Dynamic Links, Monitoramento de desempenho, Previsões e Configuração remota O plano Flame inclui a cota de uso para os seguintes produtos:
Produto Recurso Incluído no plano Flame Authentication Autenticação por telefone - EUA, Canadá e Índia 10 mil/mês Autenticação por telefone - todos os outros países 10 mil/mês Outros serviços e recursos do Authentication ✔ (gratuito) Cloud Firestore Armazenamento de dados 2,5 GiB no total Saída de rede 20 GiB/mês Gravações de documento 100 mil/dia Leituras de documento 250 mil/dia Exclusões de documento 100 mil/dia Cloud Functions para Firebase Invocações 2 milhões/mês GB-segundos 400 mil/mês Segundos de CPU 200 mil/mês Rede de saída 5 GB/mês Hosting Armazenamento de dados 10 GB no total Transferência de dados 50 GB/mês Domínio personalizado e SSL ✔ (gratuito) Vários sites por projeto ✔ (gratuito) Firebase ML Hospedagem/disponibilização de modelo personalizado ✔ (gratuito) Conjunto de dados do AutoML Vision Edge Mil imagens/projeto Treinamento do AutoML Vision Edge 3 horas/projeto APIs do Cloud Vision Não incluso Realtime Database Conexões simultâneas 200 mil Armazenamento de dados 2,5 GB no total Download de dados 20 GB/mês Vários bancos de dados por projeto Não incluso Cloud Storage Armazenamento de dados 50 GB no total Download de dados 50 GB/dia Operações de upload 100 mil/dia Operações de download 250 mil/dia Vários buckets por projeto Não incluso Test Lab Testes em dispositivos virtuais 10 testes/dia Testes em dispositivos físicos 5 testes/dia
Perguntas frequentes sobre a desativação do plano Flame
O que acontecerá com meus projetos de planos Flame atuais?
Por enquanto, não haverá alterações no seu projeto ou no faturamento. No entanto, você receberá informações nos próximos meses sobre o cronograma necessário para migrar para outro plano de faturamento.
O que acontecerá com meus projetos atuais do plano Flame no futuro?
No momento, não há uma programação específica para mover projetos do plano Flame para outro plano. No entanto, você receberá informações nos próximos meses sobre o cronograma necessário para migrar para outro plano de faturamento.
Eu tenho um projeto/um processo/um modelo de negócios que depende de um custo fixo do Firebase. O que fazer?
Inscreva-se no plano Blaze de pagamento por utilização e configure os alertas de orçamento do projeto.
Posso receber acesso especial para criar novos projetos do plano Flame?
Não, o Firebase não está oferecendo acesso especial para que os projetos mudem ou assinem o plano Flame.
Mudei meu projeto do plano Flame para outro plano de faturamento. Como faço para reverter a alteração?
Não é mais possível mudar para o plano Flame. Para acessar serviços fornecidos pelo plano Flame, verifique se você está usando o plano de pagamento por utilização Blaze e configure alertas de orçamento para seu projeto.
Meu projeto foi alternado automaticamente para outro plano de faturamento como parte da desativação do plano Flame. O que fazer?
As alterações automáticas do plano de faturamento não fazem parte do escopo atual para a suspensão do plano Flame. Verifique nos registros de auditoria se há alterações de faturamento.
Por que o plano Flame será desativado?
Ao longo dos anos, observamos a queda do uso do plano Flame, e a maioria dos projetos que usam esse plano não estão consumindo o valor total. A manutenção desse plano de faturamento geralmente não é econômica e acreditamos que podemos atender melhor a todos se os recursos tiverem sido direcionados a outras iniciativas do Firebase.
Quais são as diferenças entre o uso gratuito no plano Blaze e no plano Spark?
O uso gratuito no plano Blaze é calculado diariamente. Os limites de uso também são diferentes do plano Spark para o Cloud Functions, autenticação por telefone e o Test Lab.
No Cloud Functions, o uso gratuito no plano Blaze é calculado no nível da conta de faturamento e não no nível do projeto. Os limites do plano são os seguintes:
- 2 milhões de invocações/mês
- 400 mil GB por segundo/mês
- 200 mil CPU por segundo/mês
- 5 GB de saída de rede/mês
Com a autenticação por telefone, o uso gratuito no plano Blaze é calculado mensalmente.
No Test Lab, os limites para uso gratuito no plano Blaze são os seguintes:
- 30 minutos de dispositivo físico/dia
- 60 minutos de dispositivo virtual/dia
A cota de uso gratuita é redefinida ao mudar do plano Spark para o Blaze?
O uso gratuito do plano Spark está incluído no plano Blaze. Essa cota não é redefinida ao mudar para o plano Blaze.
O que é uma "conexão de banco de dados simultânea"?
Uma conexão simultânea é equivalente a um dispositivo móvel, guia do navegador ou app de servidor conectado ao banco de dados. O Firebase impõe limites rígidos sobre o número de conexões simultâneas com o banco de dados do app. Estes limites estão em vigor para proteger o Firebase e nossos usuários contra abusos.
O limite do plano Spark é de 100 e não pode ser aumentado. Os planos Flame e Blaze têm um limite de 200.000 conexões simultâneas por banco de dados.
Esse limite não equivale ao total de usuários do app, porque os usuários não se conectam todos ao mesmo tempo. Se você precisar de mais de 200.000 conexões simultâneas, leia o artigo Escalonar com vários bancos de dados.
O que acontece se eu exceder os limites de armazenamento ou download do plano Spark para o Realtime Database?
Para oferecer um preço previsível, os recursos disponíveis nos planos Spark são limitados. Isso significa que, quando você exceder qualquer limite de plano no mês, seu app será desativado para evitar o uso de recursos e custos adicionais.
O que acontece se eu exceder os limites de conexões simultâneas do plano Spark para o Realtime Database?
Quando seu aplicativo atinge o limite de conexões simultâneas no plano Spark, todas as conexões subsequentes serão rejeitadas até que algumas das conexões existentes sejam encerradas. O app continuará a funcionar para os usuários que estão conectados.
O que acontece se eu exceder os limites de upload, download ou armazenamento do plano Spark para o Cloud Storage?
Quando você excede os limites do Cloud Storage em um projeto no plano Spark, a consequência depende do tipo de limite que você exceder:
- Se exceder o limite de GB armazenados, você não poderá armazenar mais dados nesse projeto a menos que remova alguns dos dados armazenados ou faça upgrade para um plano que ofereça mais espaço de armazenamento ou espaço de armazenamento ilimitado.
- Se você exceder o limite de GB baixados, seu app não poderá fazer o download de mais dados até o dia seguinte (a partir da meia-noite, hora do Pacífico dos Estados Unidos), a menos que você faça upgrade para um plano ilimitado ou com limites menos restritivos.
- Se você exceder o limite de operações de upload ou download, seu app não poderá fazer upload ou download de mais dados até o dia seguinte (a partir da meia-noite, hora do Pacífico dos Estados Unidos), a menos que você faça upgrade para um plano ilimitado ou com limites menos restritivos.
Como funciona a integração do Firebase com o Google Cloud Platform?
O Firebase está integrado profundamente ao Google Cloud. Os projetos são compartilhados entre o Firebase e o Google Cloud. Assim, eles podem usar os serviços de ambas as plataformas. É possível acessar o mesmo projeto no Console do Firebase ou no Console do Google Cloud. Especificamente:
- Alguns produtos do Firebase têm o suporte direto do Google Cloud, como o Firebase storage. A lista de produtos com suporte do Google Cloud continuará crescendo com o tempo.
- Muitas das suas configurações, incluindo colaboradores e informações de faturamento, são compartilhadas pelo Firebase e pelo Google Cloud. Seu uso do Firebase e do Google Cloud são descritos na mesma conta.
Além disso, ao fazer upgrade para o plano Blaze, é possível usar qualquer infraestrutura como serviço e APIs de alta qualidade do Google Cloud diretamente no seu projeto do Firebase, no padrão Preços do Google Cloud. Também é possível exportar dados do Google Cloud diretamente para o BigQuery para análise. Para saber mais, consulte Vincular o BigQuery ao Firebase.
Ao usar o Google Cloud com o Firebase, você terá vantagens de aprimoramento da segurança, melhoria de latência e economia de tempo em relação a outros serviços em nuvem não colocalizados. Confira o site do Google Cloud para ver mais detalhes.
O que acontece se eu adicionar ou remover contas de faturamento do projeto do Firebase no Google Cloud Console?
Se uma conta de faturamento for adicionada a um projeto no Google Cloud Console, ele será automaticamente atualizado para o plano Blaze do Firebase se esse projeto estiver no plano Spark.
Em contrapartida, se uma conta de faturamento ativa existente for removida de um projeto no Google Cloud Console, ele sofrerá downgrade para o plano Spark do Firebase.
Posso fazer upgrade, downgrade ou cancelar a qualquer momento?
Sim, você pode fazer upgrade, downgrade ou cancelar a qualquer momento. Observe que não fornecemos reembolso proporcional para downgrades ou cancelamentos. Isso significa que, se você fizer downgrade antes do final do período de faturamento, ainda pagará pelo restante do mês.
Que tipo de suporte eu receberei?
Todos os apps no Firebase, incluindo planos gratuitos, recebem suporte por e-mail da equipe do Firebase durante o horário comercial do Pacífico dos Estados Unidos. Todas as contas têm suporte ilimitado para problemas relacionados ao faturamento, problemas relacionados à conta, dúvidas técnicas (solução de problemas) e relatórios de incidentes.
Posso limitar o uso no plano Blaze?
Não, no momento não é possível limitar o uso no plano Blaze. Estamos avaliando opções para aceitar limites de uso no plano Blaze.
Os usuários do Blaze podem definir um orçamento para o projeto ou a conta e receber alertas à medida que os gastos se aproximam dos limites. Para mais informações, consulte Definir alertas de orçamento.
O que são backups automatizados? Vocês oferecem backups de hora em hora?
O recurso backups automatizados é uma função avançada para os clientes do nosso plano Blaze. Ele faz backup dos dados do Firebase Realtime Database uma vez por dia e, em seguida, faz upload desses dados no Google Cloud Storage.
Não oferecemos backups de hora em hora.
Vocês oferecem descontos para código aberto, sem fins lucrativos ou educacionais?
Nossos planos Flame e Spark podem ser usados por qualquer indivíduo ou organização, incluindo organizações sem fins lucrativos, escolas e projetos de código aberto. Como esses planos já incluem cotas generosas, não oferecemos descontos especiais nem planos para projetos de código aberto, sem fins lucrativos ou educacionais.
Vocês oferecem contratos, preços e suporte empresariais e hospedagem de infraestrutura dedicada?
Nosso plano Blaze é adequado para empresas de todos os tamanhos, e nosso SLA atende ou excede o padrão do setor para infraestrutura em nuvem. No entanto, no momento não oferecemos contratos, preços ou suporte empresariais nem hospedagem de infraestrutura dedicada (isto é, instalações no local) para serviços como o Realtime Database. Estamos trabalhando para adicionar alguns desses recursos.
Vocês oferecem preços ad hoc? Quero pagar conforme o uso apenas para um ou dois recursos.
Oferecemos preços ad hoc no plano Blaze, em que você paga apenas pelos recursos que usar.
Como os planos pagos do Firebase funcionam com o Google Ads? Há créditos de publicidade gratuitos com planos pagos?
Os planos de preços do Firebase são separados do Google Ads. Assim, não há créditos de publicidade gratuitos. Como desenvolvedor do Firebase, você pode vincular sua conta do Google Ads ao Firebase para oferecer suporte ao acompanhamento de conversões.
Todas as campanhas publicitárias são gerenciadas diretamente no Google Ads, e o faturamento é gerenciado no console desse serviço.
Preços do Cloud Functions
Por que preciso de uma conta de faturamento para usar o Cloud Functions para Firebase?
O Cloud Functions para Firebase depende de alguns serviços pagos do Google: Cloud Build, Container Registry e Cloud Storage. Além do preço atual, o uso desses serviços será cobrado.
Você será cobrado apenas pelo tempo de computação necessário para criar o contêiner de ambiente de execução de uma função.
O Cloud Storage, interoperando com o Google Container Registry, fornecerá espaço de armazenamento para os contêineres em que as funções são executadas. Você será cobrado por cada contêiner necessário para implantar uma função. Você pode notar pequenas cobranças para cada contêiner armazenado. Por exemplo, 1 GB de armazenamento é faturado a US$ 0,026 por mês.
Para entender mais sobre como sua fatura pode ser alterada, verifique os seguintes aspectos:
- Preços do Cloud Functions: o nível gratuito atual não será alterado.
- Preços do Cloud Build: o Cloud Build oferece um nível gratuito.
- Preços do Container Registry.
O Cloud Functions para Firebase ainda tem uso gratuito?
Sim. No plano Blaze, o Cloud Functions fornece um nível gratuito permanente para invocações, tempo de computação e tráfego da Internet. As primeiras 2.000.000 invocações, 400.000 GB por segundo, 200.000 CPU/s e 5 GB de tráfego de saída da Internet são fornecidas gratuitamente a cada mês. Você será cobrado apenas pelo uso acima desses limites.
Cada operação de implantação terá cobranças de pequena escala pelo espaço de armazenamento usado para o contêiner da função. Por exemplo, se as suas funções consumirem 1 GB de armazenamento pelo Container Registry, você será cobrado US$ 0,026 por mês. Se o processo de desenvolvimento depender da implantação de funções para teste, será possível minimizar ainda mais os custos usando o Pacote do emulador local do Firebase durante o desenvolvimento.
Consulte os cenários de exemplo Planos de preços do Firebase e Preços do Cloud Functions.
O Firebase planeja aumentar as cotas e os limites do Cloud Functions para Firebase?
Não há planos para alterar as cotas, exceto a remoção de um limite máximo de tempo de compilação. Em vez de receber erros ou avisos quando a cota de criação diária de 120 minutos for atingida, você será cobrado de acordo com os termos do plano de pagamento por utilização do Blaze. Consulte Cotas e limites.
Posso receber o crédito de US$ 300 do Google Cloud?
Sim, é possível criar uma conta de faturamento no Console do Google Cloud para receber o crédito de US$ 300 e vincular essa conta a um projeto do Firebase.
Saiba mais sobre o crédito do Google Cloud neste link.
Se fizer isso, será preciso configurar o plano de faturamento de pagamento por utilização no Blaze no Console do Firebase para que seu projeto continue funcionando após o crédito de US$ 300 ser esgotado.
Quero seguir um codelab para aprender sobre o Firebase. Pode me dar uma conta de faturamento temporária?
Infelizmente, isso não é possível. Use o Emulador do Firebase para desenvolvimento sem ter uma conta de faturamento. Se preferir, inscreva-se em uma avaliação gratuita do Google Cloud. Se você ainda estiver com problemas para pagar a fatura devido a essa alteração, entre em contato com o suporte do Firebase.
Estou preocupada, não quero receber uma conta muito alta.
Configure alertas de orçamento no Console do Google Cloud para ajudar a controlar custos. Para ter uma ideia dos custos para cenários típicos, consulte os exemplos de preços do Cloud Functions.
Como posso verificar minhas cobranças atuais?
Consulte o painel Uso e faturamento no Console do Firebase.
Eu uso as Extensões do Firebase. Eu serei afetado por essa mudança?
Sim. Como as extensões usam o Cloud Functions, as extensões que usam o Node.js 10 ou posterior estarão sujeitas às mesmas cobranças que outras funções.
Para usar extensões com base no Node.js 10 ou versões posteriores, será necessário fazer upgrade para o plano de faturamento de pagamento por utilização do Blaze. Você será cobrado por uma pequena quantia (normalmente cerca de US$ 0,01 por mês) para os recursos do Firebase exigidos por cada extensão instalada (mesmo que não sejam usados), além de quaisquer cobranças associadas ao uso dos serviços do Firebase.
Privacidade
Onde encontro mais informações sobre privacidade e segurança no Firebase?
Consulte a página Privacidade e segurança no Firebase.
Os SDKs do Firebase registram alguma informação de uso ou diagnóstico fora do Analytics?
Sim. No momento, essa opção está disponível apenas para iOS, mas isso pode mudar no futuro. O SDK do Firebase para iOS inclui o framework FirebaseCoreDiagnostics
por padrão. Esse framework é usado pelo Firebase para coletar informações de uso e diagnóstico do SDK para ajudar a priorizar futuras melhorias do produto.
FirebaseCoreDiagnostics
é opcional, por isso, se você quiser desativar o envio de registros de diagnóstico do Firebase, desvincule a biblioteca do seu aplicativo. É possível procurar pela fonte completa, incluindo
valores registrados, no
GitHub.
Teste A/B
Teste A/B: quantos experimentos posso criar e executar?
É permitido ter até 300 experimentos por projeto, que podem consistir em até 24 experimentos em execução, com o restante como rascunho ou concluído.
AdMob
AdMob: posso vincular meus apps para Windows ao Firebase?
Atualmente, os apps do Windows não são compatíveis com o Console do Firebase.
AdMob: por que não consigo vincular minha conta da AdMob ao Console do Firebase?
Você pode vincular um app da AdMob a um app do Firebase no console da AdMob. Para vincular a conta, você precisa ser o proprietário do projeto do Firebase e também um administrador da AdMob.
AdMob: é possível vários usuários vincularem a conta da AdMob a um app do Firebase?
Não, cada conta da AdMob tem somente um usuário primário. Esse usuário é o primeiro a aceitar os Termos de Serviço do Firebase.
Analytics
Analytics: por que é recomendável usar o Google Analytics com os produtos do Firebase?
O Google Analytics é uma solução de análise gratuita e ilimitada que trabalha com os recursos do Firebase para fornecer insights avançados. Com ele, é possível ver os logs de eventos no Crashlytics, a eficácia das notificações no FCM, o desempenho dos links diretos do Dynamic Links e os dados de compras no app do Google Play. A solução potencializa a segmentação avançada por público-alvo no Configuração remota, Previsões e muito mais.
O Google Analytics funciona como uma camada de inteligência no Console do Firebase para fornecer mais insights acionáveis sobre como desenvolver um app de alta qualidade, aumentar sua base de usuários e gerar mais receita.
Para começar, leia a documentação.
Analytics: como faço para segmentar os usuários que não atendam a alguns critérios?
Reformule o problema "segmentando negativamente" esses usuários. Por exemplo, use o critério "Não mostrar anúncios para pessoas que compraram algo" e crie um público-alvo com esses usuários.
Analytics: o que devo fazer para controlar como os dados do Analytics são compartilhados com os outros recursos do Firebase?
Por padrão, os dados do Google Analytics são usados para aprimorar outros recursos do Firebase e do Google. É possível controlar como esses dados são compartilhados por meio das configurações do projeto. Saiba mais em Configurações de compartilhamento de dados.
Analytics: o que é a nova conta do Google Analytics totalmente atualizada?
Saiba mais sobre a nova atualização do Google Analytics na nossa postagem do blog.
Analytics: como faço para saber se estou usando o Google Analytics para Firebase ou uma conta totalmente atualizada do Google Analytics?
Caso veja um link para "Visualizar seus dados no Google Analytics" no painel de análise do Console do Firebase, significa que seu projeto está usando uma conta do Google Analytics totalmente atualizada.
Também é possível verificar essas informações no card do Google Analytics no Console do Firebase. Para visualizá-lo, acesse settings > Configurações do projeto > Integrações e clique em Gerenciar. Caso você veja uma conta vinculada do Google Analytics listada na seção Sua propriedade do Google Analytics, isso significa que seu projeto está usando a experiência completa do Google Analytics no Firebase. Se não aparecer uma conta vinculada do Google Analytics, seu projeto está usando o Google Analytics para Firebase.
Analytics: O que acontecerá com meus dados quando forem atualizados para o novo Google Analytics para Firebase?
A atualização não afetará os dados de análise existentes do seu projeto no Console do Firebase.
Você poderá continuar usando o mesmo painel e fluxos de trabalho atuais e também terá acesso a alguns recursos avançados do Google Analytics.
Se você decidir ativar os relatórios entre dispositivos depois do upgrade, seus dados serão duplicados por meio do UserID. Isso pode diminuir algumas contagens de usuários no Console do Firebase.
Analytics: O que é o Firebase User Segmentation Storage?
O Firebase User Segmentation Storage armazena listas de públicos criadas para fornecer informações de segmentação a outros serviços do Firebase, como Crashlytics, FCM, Previsões e muito mais.
Analytics: Por que não vejo os dados depois que desvinculei meu app do Google Analytics?
Os dados de análise residem na propriedade do Google Analytics, não no projeto do Firebase. Se você excluir ou desvincular a propriedade, seus dados também serão desvinculados do projeto. No entanto, os dados ainda estão nessa propriedade e é possível vinculá-los novamente ao seu projeto.
Criar uma nova conta do Google Analytics (e nova propriedade) resultará na presença de um painel de análise em branco no Console do Firebase.
Analytics: por que recebo um erro sempre que tento atualizar meu projeto para a nova experiência do Google Analytics?
Caso apareça um erro ao fazer a atualização, por exemplo:
The operation has failed (Reason: Requested entity already exists)
ou
The operation has failed (Reason: Precondition check failed)
Significa que há uma associação entre o projeto e uma propriedade do Google Analytics já existente. É possível desvincular a propriedade, excluí-la ou fazer upgrade por meio da interface do Google Analytics.
Se o erro continuar, use a API REST para fazer a desvinculação por meio do método removeAnalytics e use o método addGoogleAnalytics a fim de vincular uma nova propriedade.
Depois, é possível transferir os dados de uma propriedade para outra, conforme as etapas descritas neste link.
Analytics: Os públicos e/ou os eventos definidos no Google Analytics estarão disponíveis no painel do Firebase?
Seus públicos e propriedades do usuário serão sincronizados. Em alguns recursos, será necessário usar a interface do Google Analytics, como segmentação e funis fechados. É possível acessar essa interface diretamente por meio de links diretos no Console do Firebase. Quaisquer alterações feitas no Console do Firebase também podem ser realizadas no Google Analytics, e serão refletidas no Firebase.
Indexação de apps
App Indexing: a Pesquisa Google indexa vários idiomas a um único app?
A Pesquisa Google oferece suporte aos seguintes casos multilíngues:
- O site associado tem URLs exclusivos para cada idioma, e há um URL HTTP de app correspondente para cada URL da Web.
- O site associado tem URLs exclusivos para cada idioma, mas há apenas um URL HTTP de app. As configurações de idioma do sistema são usadas no app para exibir o conteúdo no idioma correto.
- O site associado tem um URL para todos os idiomas, ou aceita apenas um idioma, e há um URL de app correspondente. O conteúdo do site e do app são exibidos no mesmo idioma quando o usuário não define nenhuma preferência.
Indexação de apps: a Indexação de apps oferece suporte a vários sites para um app?
Sim. Certifique-se de que cada site associado seja verificado para o app Android no Google Play Console. Saiba como verificar seu aplicativo.
Indexação de apps: os sitemaps precisam ser adicionados ao Search Console?
Os sitemaps não são necessários no iOS nem no Android desde que o app ofereça suporte a URLs HTTP. No caso dos URLs personalizados, não é preciso adicionar sitemaps pelo Search Console. Para que a Pesquisa Google use os sitemaps, basta referenciá-los no arquivo robots.txt. Saiba como gerenciar sitemaps. No entanto, enviar um sitemap pelo Search Console permite ver as estatísticas dos URLs HTTP enviados e indexados.
Authentication
Firebase Authentication: a autenticação por telefone é aceita para quais países?
O Firebase Authentication aceita a verificação do número de telefone em todo o mundo, mas nem todas as redes entregam as mensagens de verificação de forma confiável. Os seguintes países têm boas taxas de entrega, e o login com o número de telefone deve funcionar bem neles.
País | Código |
---|---|
AD | Andorra |
AE | Emirados Árabes Unidos |
AF | Afeganistão |
AG | Antígua e Barbuda |
AL | Albânia |
AM | Armênia |
AO | Angola |
AR | Argentina |
AS | Samoa Americana |
AT | Áustria |
AU | Austrália |
AW | Aruba |
AZ | Azerbaijão |
BA | Bósnia e Herzegovina |
BB | Barbados |
BD | Bangladesh |
BE | Bélgica |
BF | Burkina Fasso |
BG | Bulgária |
BJ | Benin |
BM | Bermudas |
BN | Brunei |
BO | Bolívia |
BR | Brasil |
BS | Bahamas |
BT | Butão |
BW | Botsuana |
BY | Bielorrússia |
BZ | Belize |
CA | Canadá |
CD | Congo (Kinshasa) |
CF | República Centro-Africana |
CG | Congo (Brazzaville) |
CH | Suíça |
CI | Costa do Marfim |
CK | Ilhas Cook |
CL | Chile |
CM | Camarões |
CO | Colômbia |
CR | Costa Rica |
CV | Cabo Verde |
CW | Curaçao |
CY | Chipre |
CZ | República Tcheca |
DE | Alemanha |
DJ | Djibuti |
DK | Dinamarca |
DM | Dominica |
DO | República Dominicana |
DZ | Argélia |
EC | Equador |
EG | Egito |
ES | Espanha |
ET | Etiópia |
FI | Finlândia |
FJ | Fiji |
FK | Ilhas Malvinas |
FM | Micronésia |
FO | Ilhas Faroé |
FR | França |
GA | Gabão |
GB | Reino Unido |
GD | Granada |
GE | Geórgia |
GF | Guiana Francesa |
GG | Guernsey |
GH | Gana |
GI | Gibraltar |
GL | Groenlândia |
GM | Gâmbia |
GP | Guadalupe |
GQ | Guiné Equatorial |
GR | Grécia |
GT | Guatemala |
GY | Guiana |
HK | Hong Kong, Região Admin. Especial da China |
HN | Honduras |
HR | Croácia |
HT | Haiti |
HU | Hungria |
ID | Indonésia |
IE | Irlanda |
IL | Israel |
IM | Ilha de Man |
IN | Índia |
IQ | Iraque |
IT | Itália |
JE | Jersey |
JM | Jamaica |
JO | Jordânia |
JP | Japão |
KE | Quênia |
KG | Quirguistão |
KH | Camboja |
KM | Comores |
KN | São Cristóvão e Névis |
KR | Coreia do Sul |
KW | Kuwait |
KY | Ilhas Cayman |
KZ | Cazaquistão |
LA | Laos, RDP |
LB | Líbano |
LC | Santa Lúcia |
LI | Principado de Liechtenstein |
LK | Sri Lanka |
LS | Lesoto |
LT | Lituânia |
LU | Luxemburgo |
LV | Letônia |
LY | Líbia |
MA | Marrocos |
MD | Moldávia |
ME | Montenegro |
MF | São Martinho (parte francesa) |
MG | Madagascar |
MK | República da Macedônia do Norte |
MM | Mianmar |
MN | Mongólia |
MO | Macau, Região Administrativa Especial da China |
MS | Montserrat |
MT | Malta |
MU | Maurício |
MW | Malauí |
MX | México |
MY | Malásia |
MZ | Moçambique |
NA | Namíbia |
NC | Nova Caledônia |
NE | Níger |
NF | Ilha Norfolk |
NG | Nigéria |
NI | Nicarágua |
NL | Holanda |
NO | Noruega |
NP | Nepal |
NZ | Nova Zelândia |
OM | Omã |
PA | Panamá |
PE | Peru |
PG | Papua-Nova Guiné |
PH | Filipinas |
PK | Paquistão |
PL | Polônia |
PM | Saint-Pierre e Miquelon |
PR | Porto Rico |
PS | Território Palestino |
PT | Portugal |
PY | Paraguai |
QA | Catar |
RE | Reunião |
RO | Romênia |
RS | Sérvia |
RU | Federação Russa |
RW | Ruanda |
SA | Arábia Saudita |
SC | Seicheles |
SE | Suécia |
SG | Cingapura |
SH | Santa Helena |
SI | Eslovênia |
SK | Eslováquia |
SL | Serra Leoa |
SN | Senegal |
SR | Suriname |
ST | São Tomé e Príncipe |
SV | El Salvador |
SZ | Suazilândia |
TC | Ilhas Turks e Caicos |
TG | Togo |
TH | Tailândia |
TL | Timor Leste |
TM | Turcomenistão |
TO | Tonga |
TR | Turquia |
TT | Trinidad e Tobago |
TW | Taiwan, República da China |
TZ | República Unida da Tanzânia |
UA | Ucrânia |
UG | Uganda |
US | Estados Unidos da América |
UY | Uruguai |
UZ | Uzbequistão |
VC | São Vicente e Granadinas |
VE | Venezuela (República Bolivariana) |
VG | Ilhas Virgens Britânicas |
VI | Ilhas Virgens, EUA |
VN | Vietnã |
WS | Samoa |
YE | Iêmen |
YT | Ilha Mayotte |
ZA | África do Sul |
ZM | Zâmbia |
ZW | Zimbábue |
Cloud Functions
Compatibilidade com o ambiente de execução do Cloud Functions
Por que o ambiente de execução do Node.js 8 está obsoleto?
Em 31 de dezembro de 2019, o Node.js 8 foi marcado como fim da vida útil pela Node.js Foundation. Nesse período, a Node.js Foundation parou de lançar versões de segurança para o Node.js 8. Por isso, recomendamos que você atualize para o Node.js 10 ou uma versão posterior assim que possível.
O que acontecerá se uma função do Node.js 8 permanecer em execução após a remoção do suporte ao Node.js 8? Funciona indefinidamente?
Não. A implantação de funções no ambiente de execução do Node.js 8 foi desativada na CLI do Firebase em 15 de dezembro de 2020. A execução de funções já implantadas será interrompida em algum momento no futuro. Se você implantou funções no ambiente de execução do Node.js 8, recomendamos fazer upgrade para o ambiente de execução do Node.js 12.
Como fazer upgrade para o Node.js 12?
- Verifique se você está no plano de faturamento Blaze de pagamento por utilização.
- Veja se você está usando a versão 8.1.0 ou posterior da Firebase CLI.
- Altere o campo
engines
nopackage.json
das funções. - Se quiser, teste suas alterações usando o emulador do Firebase.
- Implante novamente as funções usando a Firebase CLI v8.1.0 ou posterior.
Como posso ter certeza de que implantei minhas funções no ambiente de execução do Node.js 12?
No Console do Firebase, acesse o painel de funções e verifique a coluna "Ambiente de execução".
Eu uso as Extensões do Firebase. Eu serei afetado por essa mudança?
Sim. Como as extensões usam o Cloud Functions, o ambiente de execução das suas extensões precisa ser atualizado na mesma linha do tempo que o Cloud Functions.
Recomendamos que você faça o upgrade do seu projeto do Firebase para o plano Blaze e atualize para a versão mais recente de cada extensão instalada no seu projeto. É possível fazer upgrade das extensões dos projetos no Console do Firebase ou no CLI.
Cloud Messaging
Cloud Messaging: qual é a diferença entre o Editor do Notificações e o Cloud Messaging?
O Firebase Cloud Messaging fornece um conjunto completo de recursos de mensagens por meio dos SDKs clientes e protocolos de servidor HTTP e XMPP. Para implantações com requisitos de mensagens mais complexos, o FCM é a escolha certa.
O Editor do notificações é uma solução de mensagens leve e sem servidor integrada no Firebase Cloud Messaging. Como um console gráfico simples que exige pouca codificação, o Editor do Notificações facilita o envio de mensagens para engajar novamente e reter usuários, promover o crescimento do app e respaldar campanhas de marketing.
Recursos | Editor do Notificações | Cloud Messaging | |
---|---|---|---|
Destino | Dispositivo único | ||
Clientes inscritos em tópicos (por exemplo, clima) | |||
Clientes em segmento de usuário predefinido (app, versão e idioma) | |||
Clientes em públicos de análise especificados | |||
Clientes em grupos de dispositivos | |||
Upstream, do cliente ao servidor | |||
Tipo de mensagem | Notificações de até 2 KB | ||
Mensagens de dados de até 4 KB | |||
Entrega | Imediato | ||
Horário local do dispositivo do cliente no futuro | |||
Análise | Coleta de análises do Notificações e de funil integradas |
Cloud Messaging: a Apple anunciou que está suspendendo o uso do protocolo binário legado para APNs. Preciso fazer algo?
Não. O Firebase Cloud Messaging foi encaminhado para o protocolo de APNs baseado em HTTP/2 em 2017. Se você está usando o FCM para enviar notificações aos dispositivos iOS, não precisa fazer nada.
Cloud Messaging: preciso de outros serviços do Firebase para usar o FCM?
Use o Firebase Cloud Messaging como um componente independente, da mesma maneira que o GCM, sem usar outros serviços do Firebase.
Cloud Messaging: sou desenvolvedor do Google Cloud Messaging (GCM). Preciso migrar para o Firebase Cloud Messaging?
O FCM é a nova versão do GCM da marca Firebase. Ele herda a infraestrutura principal do GCM, com novos SDKs para facilitar o desenvolvimento no Cloud Messaging.
As vantagens do upgrade para o SDK do FCM são:
- Simplificação do desenvolvimento do cliente. Não é mais necessário escrever a própria lógica de registro ou de nova tentativa de assinatura.
- Solução pronta de notificação. Use o Editor do Notificações, uma solução de notificações sem servidor e com um console da Web. Qualquer pessoa envia notificações para públicos específicos com base nos insights do Google Analytics para Firebase.
Para fazer o upgrade dos SDKs do GCM para os SDKs do FCM, consulte os guias de migração de apps para Android e iOS.
Cloud Messaging: por que meus dispositivos de destino parecem não receber mensagens?
Quando você achar que os dispositivos não estão recebendo mensagens corretamente, verifique primeiro estas duas possíveis causas:
Tratamento de mensagens em primeiro plano para mensagens de notificação. Inclua lógica de tratamento de mensagens nos apps clientes para gerenciar as mensagens de notificação quando eles estão em primeiro plano no dispositivo. Consulte os detalhes para iOS e Android.
Restrições do firewall da rede. Caso sua organização tenha um firewall que restrinja o tráfego na Internet, configure-o para que ele permita a conectividade com o FCM a fim de que os apps clientes do Firebase Cloud Messaging recebam mensagens. Abra estas portas:
- 5228
- 5229
- 5230
Geralmente, o FCM usa a 5228, mas às vezes usa a 5229 e a 5230. Como o FCM não fornece IPs específicos, configure o firewall para aceitar conexões de saída com todos os endereços IP contidos nos blocos IP listados no ASN 15169 (em inglês) do Google.
Cloud Messaging: implementei o
onMessageReceived
no meu app Android, mas ele não está sendo
chamado.
Quando seu app estiver em segundo plano, mensagens de notificação serão exibidas na bandeja do sistema, e onMessageReceived
não será chamado.
As mensagens de notificação com payload de dados são exibidas na bandeja do sistema, e os dados delas podem ser recuperados do intent iniciado quando o usuário toca na notificação.
Para ver mais informações, consulte Receber e lidar com as mensagens.
Editor do Notificações: qual é a diferença entre o Editor do Notificações e o Cloud Messaging?
O Editor do notificações é uma solução de mensagens leve e sem servidor integrada no Firebase Cloud Messaging. Com um console gráfico simples que exige pouca codificação, o Editor do Notificações facilita o envio de mensagens para engajar e reter usuários, promover o crescimento do app e respaldar campanhas de marketing.
O Firebase Cloud Messaging fornece um conjunto completo de recursos de mensagens por meio dos SDKs clientes e protocolos de servidor HTTP e XMPP. Para implantações com requisitos de mensagens mais complexos, o FCM é a escolha certa.
Veja uma comparação dos recursos de mensagens do Firebase Cloud Messaging e do Editor do Notificações:
Recursos | Editor do Notificações | Cloud Messaging | |
---|---|---|---|
Destino | Dispositivo único | ||
Clientes inscritos em tópicos (por exemplo, clima) | |||
Clientes em segmento de usuário predefinido (app, versão e idioma) | |||
Clientes em públicos de análise especificados | |||
Clientes em grupos de dispositivos | |||
Upstream, do cliente ao servidor | |||
Tipo de mensagem | Notificações de até 2 KB | ||
Mensagens de dados de até 4 KB | |||
Entrega | Imediato | ||
Horário local do dispositivo do cliente no futuro | |||
Análise | Coleta de análises do Notificações e de funil integradas |
Editor do Notificações: sou desenvolvedor do Google Cloud Messaging (GCM) e quero usar o Editor do Notificações. O que eu faço?
O Editor do Notificações é uma solução pronta. Com ele, qualquer pessoa envia notificações para públicos específicos com base nos insights do Google Analytics para Firebase. Além disso, ele fornece análise de funil de cada mensagem para que você avalie a eficácia das notificações com facilidade.
Se você é desenvolvedor do GCM e quer usar o Editor do Notificações, faça upgrade dos SDKs do GCM para os SDKs do FCM. Consulte os guias de migração de apps para Android e iOS.
Cloud Storage
Storage: por que eu não posso usar o Cloud Storage?
O Firebase storage cria um intervalo padrão na camada livre do App Engine. Com isso, instale e execute rapidamente o Firebase e o Firebase Storage, sem precisar de um cartão de crédito nem ativar uma conta de faturamento. Além disso, é possível compartilhar os dados entre projetos do Firebase e do Google Cloud com facilidade.
No entanto, há dois casos conhecidos em que não é possível criar o intervalo nem usar o Firebase storage:
- Um projeto importado do Google Cloud que tinha um aplicativo Datastore mestre/escravo do App Engine.
-
Um projeto importado do Google Cloud que tem projetos com prefixo de
domínio. Por exemplo,
domain.com:project-1234
.
No momento, não há soluções alternativas para esses problemas. Recomendamos que você crie um novo projeto no Console do Firebase e ative o Firebase Storage nele.
Cloud Storage: por que vejo novos IDs da conta de serviço associados aos meus projetos do Firebase que usam o Cloud Storage?
O Firebase usa contas de serviço para operar e gerenciar serviços sem compartilhar credenciais de usuário. Ao criar um projeto do Firebase, várias contas de serviço já estão disponíveis no projeto.
Se você usou o Cloud Storage antes de 15 de setembro de 2020, talvez
veja a seguinte conta de serviço legada usada para gerenciar seu bucket:
firebase-storage@system.gserviceaccount.com
.
Após 15 de setembro de 2020, os buckets do Cloud Storage para Firebase podem incluir
uma nova conta de serviço:
service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com
.
É possível visualizar todas as contas de serviço associadas ao seu projeto no Console do Firebase na guia "Contas de serviço".
Como remover a nova conta de serviço
Não é recomendável remover a nova conta porque, se você fizer isso, não será possível aproveitar as próximas melhorias de segurança.
No entanto, se preferir, desative a API ou remova o acesso da nova conta de serviço. A remoção dessa conta pode bloquear o acesso de seus apps ao bucket do GCS.
Como adicionar a nova conta de serviço
Se você removeu a nova conta de serviço ou desativou a API e quer adicioná-la novamente,
siga as instruções fornecidas em
Como criar e gerenciar contas
de serviço para usar o Console do Google Cloud e adicionar
service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com
ao conjunto de contas de serviço do seu projeto.
Crashlytics
Crash Reporting: por que há menos relatórios de erros no Analytics do que no Crash Reporting?
O Crash reporting cria um processo de segundo plano separado para o upload de informações de falha. Se seu aplicativo estender a classe Aplicativo para Android, você deverá garantir que ele seja protegido por vários processos. Caso contrário, isso pode causar problemas de simultaneidade. Quando um aplicativo estende um objeto Aplicativo, esse objeto é instanciado para cada processo em um aplicativo de vários processos. Considere o seguinte ao adicionar o Crash reporting ao app:
- Se a implementação desse objeto acessar algum estado fora do processo, como banco de dados, sistema de arquivos, preferências compartilhadas etc., ou executa outras ações inseguras em um ambiente multiprocessos, podem surgir problemas de simultaneidade. O motivo é que várias instâncias do objeto Application podem ser executadas ao mesmo tempo.
- Muitas bibliotecas de terceiros mantêm o estado fora do processo, em um banco de dados local, e estão sujeitas aos mesmos problemas se forem inicializadas pelo objeto Application. Se o app se encaixa nessa descrição e você quer usar o Crash reporting, sugerimos que mova a lógica do Application para Provedores de conteúdo ou para Atividades do Android. Qualquer lógica do Application que não é segura para um ambiente multiprocessos pode produzir efeitos indesejados no app.
O Crash reporting exporta automaticamente os erros capturados para o Google Analytics como eventos app_exception. No Android, há uma discrepância significativa entre o número de erros do Crash reporting e os eventos app_exception do Analytics.
Dynamic Links
Dynamic Links: por que o app Android acessa duas vezes cada Dynamic Link?
A API getInvitation
limpa o link dinâmico salvo para evitar que ele seja acessado duas vezes. Lembre-se de chamar essa API com o parâmetro autoLaunchDeepLink
definido como false
em cada uma das atividades do link direto para limpá-la quando a atividade for acionada fora da atividade principal.
Hosting
Hosting: por que minha tabela do histórico de versões do Hosting no Console do Firebase mostra contagens de arquivos além do que meu projeto local tem?
O Firebase adiciona automaticamente arquivos extras que contêm metadados sobre o site do Hosting. Esses arquivos são incluídos na contagem total de arquivos para a versão.
Hosting: qual é o maior tamanho de arquivo que posso implantar no Firebase Hosting?
O Hosting tem um limite de tamanho máximo de 2 GB para arquivos individuais.
Recomendamos o armazenamento de arquivos maiores com o Cloud Storage para Firebase, que oferece um limite de tamanho máximo no intervalo de terabytes para objetos individuais.
Monitoramento de desempenho
Monitoramento de desempenho: Quantos padrões de URL personalizados posso criar?
É possível criar até 400 padrões de URL personalizados por aplicativo e até 100 padrões de URL personalizados por domínio para esse aplicativo.
Previsões
Previsões: acabei de adicionar o Google Analytics ao meu app. Quanto tempo devo esperar para ver as previsões no console?
As previsões são baseadas no comportamento dos usuários. Quanto mais longo for o histórico disponível, melhor. No mínimo, o Firebase Previsões precisa de duas semanas de dados: uma semana de atividade para treinar e, em seguida, uma semana para ver o resultado dessa atividade (desligamento de usuários, gastos etc.). Depois das duas primeiras semanas, a qualidade das previsões normalmente aumenta, à medida que o Previsões passa a analisar sequências mais longas de atividade do usuário.
Previsões: quanto tempo leva para fazer previsões sobre um novo usuário?
No caso de um app que já tem o Google Analytics ativado e treinado com dados iniciais, as previsões sobre novos usuários podem ser iniciadas um dia depois de eles começarem a usar o app.
Realtime Database
Realtime Database: por que meu Realtime Database reportou uma largura de banda menor que a média entre setembro de 2016 e março de 2017?
Para nossos cálculos de largura de banda, normalmente incluímos a sobrecarga de criptografia SSL (com base na camada 5 do modelo OSI). No entanto, em setembro de 2016, introduzimos um bug que fez com que nossos relatórios de largura de banda ignorassem a sobrecarga de criptografia. Isso pode ter resultado em uma largura de banda e contas registradas artificialmente baixas na sua conta por alguns meses.
Nós lançamos uma correção para o bug no final de março de 2017, que fez com que os relatórios de largura de banda e de faturamento voltassem aos níveis normais.
Realtime Database: quais são as limitações de escala do Realtime Database?
Cada instância do Realtime Database tem limites quanto ao número de operações de gravação por segundo. Para as gravações menores, esse limite é de aproximadamente 1.000 operações de gravação por segundo. Se você estiver se aproximando desse limite, poderá alcançar uma capacidade maior com operações de lotes que usam atualizações em vários caminhos.
Além disso, cada instância do banco de dados tem um limite na quantidade de conexões simultâneas do banco de dados. Os limites padrão são suficientes para a maioria dos aplicativos. Se você estiver criando um app que exija escalonamento adicional, talvez seja necessário fragmentá-lo em várias instâncias do banco de dados para aumentar a capacidade. Pense também no Cloud Firestore como um banco de dados alternativo.
Realtime Database: o que posso fazer se exceder os limites de uso do Realtime Database?
Se você recebeu um alerta de e-mail ou uma notificação no Console do Firebase de que excedeu os limites de uso do Realtime Database, resolva essa questão com base no limite de uso excedido. Para ver o uso do Realtime Database, vá para a seção Uso do Realtime Database no Console do Firebase.
Caso já tenha ultrapassado seu limite de download, será possível fazer upgrade do seu plano do Firebase ou aguardar até que o limite seja redefinido no início do próximo ciclo de faturamento. Para diminuir seus downloads, tente seguir as seguintes etapas:
- Adicione consultas para limitar os dados retornados pelas suas operações de escuta.
- Verifique as consultas não indexadas.
- Use listeners que só fazem o download de atualizações de dados
on()
, por exemplo, em vez deonce()
. - Use regras de segurança para bloquear downloads não autorizados.
Se você estiver acima do seu limite de armazenamento, faça o upgrade do seu plano para evitar interrupções no serviço. Para reduzir a quantidade de dados no seu banco de dados, tente seguir as seguintes etapas:
- Execute tarefas de limpeza periódicas.
- Reduza dados duplicados no seu banco de dados.
Observe que pode levar algum tempo para ver qual exclusão de dados refletiu na sua cota de armazenamento.
Se você estiver acima do seu limite de conexões simultâneas com o banco de dados, faça o upgrade do seu plano para evitar interrupções no serviço. Para gerenciar conexões simultâneas ao seu banco de dados, tente conectar-se por meio dos usuários via REST API, se eles não precisarem de uma conexão em tempo real.
Configuração remota
Configuração remota: por que os valores recuperados não mudam o comportamento e a aparência do app?
Os valores são armazenados localmente, mas não ativados, a menos que você faça a consulta com fetchAndActivate(). Para ativar os valores recebidos de forma que sejam aplicados, chame activate
. Esse design permite controlar quando o comportamento e a aparência do seu app mudam, já que você pode escolher quando chamar activate
. Depois de invocar activate
, o código-fonte do seu aplicativo determina quando os valores de parâmetro atualizados são usados.
Por exemplo, recupere e ative esses valores na próxima vez que um usuário iniciar o app. Assim, não será necessário atrasar o início do app enquanto ele espera os valores recuperados do serviço. As mudanças no comportamento e na aparência do app ocorrem quando ele usa os valores de parâmetro atualizados.
Para saber mais sobre a API Remote Config e o modelo de uso, consulte Visão geral da API Remote Config.
Configuração remota: estou realizando muitas solicitações de buscas ao desenvolver meu app. Por que meu app não recebe sempre os valores mais recentes do serviço quando envia solicitações de busca?
Durante o desenvolvimento do aplicativo, talvez você queira buscar e ativar configurações com muita frequência (muitas vezes por hora) para permitir fazer iterações à medida que desenvolve e testa seu aplicativo. Para acomodar a iteração rápida em um projeto com até 10 desenvolvedores, é possível definir temporariamente um objeto FirebaseRemoteConfigSettings
com um intervalo de busca mínimo baixo (setMinimumFetchIntervalInSeconds
) no seu aplicativo.
Configuração remota: em quanto tempo o serviço do Configuração remota retorna os valores recuperados depois que o app envia uma solicitação de busca?
Os dispositivos geralmente recebem os valores recuperados em menos de um segundo e, muitas vezes, em milissegundos. As solicitações de busca do serviço Configuração remota são feitas em milissegundos, mas o tempo para concluí-las depende da velocidade da rede e da latência da conexão de rede usada pelo dispositivo.
Se sua meta for fazer com que os valores buscados entrem em vigor no seu aplicativo o quanto antes, mas sem criar uma experiência desagradável para o usuário, avalie a possibilidade de adicionar chamadas a fetchAndActivate
toda vez que seu aplicativo fizer uma atualização total da tela.
Monitoramento de desempenho: Quantos padrões de URL personalizados posso criar?
É possível criar até 400 padrões de URL personalizados por aplicativo e até 100 padrões de URL personalizados por domínio para esse aplicativo.