Você está enfrentando uma situação diferente ou seu problema não está descrito abaixo? Informe um bug ou solicite um recurso e participe das discussões no Stack Overflow (em inglês).
Como fazer upgrade para o Firebase
Como adiciono o Firebase a um projeto do Google?
Você pode 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, clique em Adicionar projeto na página de destino do Console do Firebase e selecione o projeto no menu Nome do projeto.
Projetos e o Console 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. Você pode usar vários projetos compatíveis com diversos ambientes, como de desenvolvimento, teste e produção.
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: sua cota de projetos por conta de faturamento aumenta substancialmente, desde que sua conta de faturamento do Cloud esteja em situação regular.
O limite da cota de projetos não costuma ser uma preocupação para a maioria dos desenvolvedores. No entanto, é possível solicitar um aumento na sua cota de projetos.
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 é um contêiner de apps para iOS, Android e Web. Não há restrição no número de apps que um projeto pode ter. No entanto, adicionar um app pode criar um ou mais IDs do cliente do OAuth 2.0 subjacentes, e há um limite de cerca de 30 IDs do cliente que podem ser criados em um único projeto.
Você deve garantir que todos os apps em um projeto sejam apenas 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 deve ter um projeto do Firebase próprio.
Preciso fornecer um SHA-1 ao adicionar um app para 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 do 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 do OAuth 2.0 com o nome de pacote e SHA-1 especificados. Resolva esse erro seguindo as instruções neste artigo.
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 Conta do Google em "Preferências da conta" > "Idioma e ferramentas de inserção de texto".
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 Console do Google Cloud 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 (primários) 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. Os controles de edição da IU não são ocultos nem desativados para os leitores, mas essas operações não funcionam para usuários com esse papel.
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 primários de proprietário, editor e leitor.
- 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.
Quais são os pré-requisitos para vincular o Google 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 são os navegadores compatíveis com 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.
Quais notificações de código aberto devo incluir no app?
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 a que a Apple não oferece mais suporte. Por exemplo, desde março de 2019, a Apple exige pelo menos o iOS 12 em todos os apps para iOS. Isso 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 publicadas nas notas da versão do SDK do Firebase para iOS 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 com base no "melhor esforço". Os desenvolvedores podem acompanhar e enviar problemas no repositório do SDK do Firebase para iOS no GitHub.
Preços
Quais produtos são pagos? Quais são gratuitos?
Os produtos de infraestrutura pagos do Firebase são o Realtime Database, 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, App Indexing, Dynamic Links, Invites 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.
Como saber qual plano é ideal para mim?
Nosso plano Spark é um ótimo local para desenvolver seu app gratuitamente, seja seu projeto um hobby ou seu próximo grande sucesso. 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 Platform não estão disponíveis no nível Spark.
Nosso plano Flame foi criado para empresas em estágio inicial e apps de pequena produção que procuram um preço baixo previsível, mas que precisam de mais capacidade do que a camada gratuita oferece para recursos do Realtime Database, Storage ou Hosting. Assim como o plano Spark, o Google Cloud Platform não está disponível no plano Flame. Exceder os recursos do plano em determinado mês fará com que o seu app seja desativado pelo restante do mês.
Nosso plano Blaze foi projetado para apps de produção em larga escala e apps que não podem sofrer períodos de inatividade após ultrapassar os limites do plano. O plano Blaze também permite ampliar seu app com os recursos pagos do Google Cloud Platform. 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.
É possível acompanhar o uso dos recursos do Realtime Database e do Hosting no Console do Firebase. Consulte Uso do Realtime Database e Uso do Hosting.
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 gratuito é 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 ou Flame para o Realtime Database?
Para oferecer um preço previsível, os recursos disponíveis nos planos Spark e Flame 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 ou Flame para o Cloud Storage?
Quando você excede os limites do Cloud Storage em um projeto no plano Spark ou Flame, 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 ao Google Cloud Platform. Os projetos são compartilhados entre o Firebase e o Google Cloud Platform. 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 recursos do Firebase são respaldados diretamente pelo Google Cloud Platform, como o Firebase storage. A lista de recursos fornecidos pelo Google Cloud Platform continuará a crescer ao longo do tempo.
- Muitas das suas configurações, incluindo colaboradores e informações de faturamento, são compartilhadas pelo Firebase e pelo Google Cloud Platform. Seu uso do Firebase e do Google Cloud Plaform são descritos na mesma conta.
Além disso, ao fazer upgrade para o plano Blaze, você pode usar qualquer Infrastructure as a Service e APIs de alta qualidade do Google Cloud Platform diretamente no seu projeto do Firebase, com o preço padrão do Google Cloud Platform. Também é possível exportar dados do Google Analytics para Firebase diretamente para o BigQuery para análise. Para saber mais, consulte Vincular o BigQuery ao Firebase.
Ao usar o Google Cloud Platform 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 Platform 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 que esteja no plano Spark ou Flame, ele será automaticamente atualizado para o plano Blaze do Firebase.
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 direito a, no máximo, 10 perguntas técnicas (solução de problemas) por ano, mas têm suporte ilimitado para dúvidas relacionadas a faturamento, conta 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, que faz backup dos dados do Firebase Realtime Database uma vez por dia e depois faz o upload desses dados no Google Cloud Storage.
Não oferecemos backups de hora em hora.
As taxas do plano Flame são proporcionais se eu assinar ou fizer downgrade no meio do mês?
Sim para upgrades, mas não para downgrades. É possível fazer upgrade ou downgrade a qualquer momento. Os upgrades são cobrados proporcionalmente, ao contrário dos downgrades. Se você assinar o plano Flame no meio do mês, a cobrança será realizada apenas pelo restante do mês. No entanto, se você fizer o downgrade no meio do mês, será cobrado pelo restante do mês para evitar abusos.
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 de anúncios são gerenciadas diretamente no Google Ads, e o faturamento é gerenciado no console desse serviço.
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](https://github.com/firebase/firebase-ios-sdk/tree/master/Firebase/CoreDiagnostics).
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.
Como faço para segmentar os usuários que não atendem 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.
Como controlo a forma de compartilhar os dados do Analytics com o restante 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.
O que é a nova conta do Google Analytics com upgrade total?
Saiba mais sobre a nova atualização do Google Analytics na nossa postagem do blog.
Como faço para saber se estou usando o Google Analytics para Firebase ou uma conta do Google Analytics com upgrade total?
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 com upgrade total.
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.
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.
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.
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.
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.
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.
Desenvolver
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 Nevis |
KR | Coreia do Sul |
KW | Kuwait |
KY | Ilhas Cayman |
KZ | Cazaquistão |
LA | Laos, RDP |
LB | Líbano |
LC | Santa Lúcia |
LI | 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 Admin. 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 | Países Baixos |
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 | Singapura |
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 | Trindade e Tobago |
TW | Taiwan, República da China |
TZ | 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 |
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.
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. Com um console gráfico fácil de usar e que exige pouca codificação, o Editor do Notificações facilita o envio de mensagens para atrair novamente e reter usuários, promover o crescimento do app e respaldar campanhas de marketing.
Recursos | Editor do Notificações | Cloud Messaging | |
---|---|---|---|
Objetivo | 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 futuro cliente | |||
Analytics | Coleção de análises do Notificações e de funil integradas |
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 pode enviar notificações para públicos-alvo 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 para 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 mais informações, consulte Como receber e gerenciar mensagens.
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 valor, utilize as operações em lote que usam atualizações em vários caminhos para uma capacidade maior.
Além disso, cada instância do banco de dados tem um limite 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 o upgrade do seu plano do Firebase ou aguardar até que o limite seja zerado no início do próximo ciclo de faturamento. Para reduzir seus downloads, siga 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 que a exclusão de dados incida 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.
Storage: por que eu não posso usar o Cloud Storage?
O Firebase storage cria um intervalo padrão na camada livre do Google 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, compartilhe facilmente os dados entre o Firebase e o projeto do Google Cloud Platform.
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 Platform que tinha um aplicativo Datastore mestre/escravo do Google App Engine.
-
Um projeto importado do Google Cloud Platform 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.
Expandir
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 aplicativo. Por que meu aplicativo 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.
Dynamic Links: por que o app para Android acessa duas vezes cada link dinâmico?
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.
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 | |
---|---|---|---|
Objetivo | 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 futuro cliente | |||
Analytics | Coleção 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 preciso fazer?
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.
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.
App Indexing: a Pesquisa do 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 por meio do 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.
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 deles a um app do Firebase?
Não, cada conta da AdMob tem somente um usuário principal, que é o primeiro a aceitar os Termos de Serviço do Firebase.
Teste A/B: quantos experimentos posso criar e executar?
Você pode fazer 20 experimentos por projeto, o que consiste em até 6 experimentos de execução e até 14 experimentos de rascunho.
No entanto, uma instância de app/usuário final pode ser colocada em somente três experimentos ao mesmo tempo. Por exemplo, se você criar seis experimentos segmentando 100% da população de usuários relacionada, as instâncias do app que se classificam para mais de três experimentos ativos são enviadas apenas para os três experimentos menos recentes. Nesse caso, o 4º, o 5º e o 6º experimentos podem ficar sem nenhum usuário.