O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Saiba mais sobre Android e Firebase

Ao desenvolver seu projeto Android usando o Firebase, você pode descobrir conceitos desconhecidos ou específicos do Firebase. Esta página tem como objetivo responder a essas perguntas ou indicar recursos para aprender mais.

Se você tiver dúvidas sobre um tópico não abordado nesta página, sinta-se à vontade para visitar uma de nossas comunidades online . Também atualizaremos esta página com novos tópicos periodicamente, portanto, verifique novamente se adicionamos o tópico sobre o qual deseja aprender!

Plug-in Firebase Assistant para Android Studio

O Firebase Assistant é um plugin do Android Studio que registra seu aplicativo Android com um projeto do Firebase e adiciona os arquivos de configuração, plug-ins e dependências necessários do Firebase ao seu projeto do Android - tudo de dentro do Android Studio!

Siga as instruções na página de primeiros passos do Android para usar o Firebase Assistant. Certifique-se de que está usando as versões mais atualizadas do Android Studio e do Firebase Assistant (vá para Arquivo> Verificar atualizações ).

Quando você seleciona produtos específicos do Firebase para adicionar ao seu aplicativo, o Firebase Assistant declara automaticamente as dependências necessárias no seu arquivo app/build.gradle . No entanto, para usar os recursos do Firebase que estão além dos recursos atuais do Firebase Assistant, você pode fazer algumas alterações manuais nessas dependências:

  • Se você deseja usar o Firebase Android BoM , atualize as dependências no arquivo Gradle do seu módulo (nível de aplicativo) (geralmente app/build.gradle ) para importar a plataforma BoM. Você também precisará remover as versões de cada linha de dependência da biblioteca do Firebase.

  • Se você quiser usar uma biblioteca de extensões Kotlin , modifique a linha de dependência adicionada ao arquivo Gradle do módulo (nível do aplicativo) (geralmente app/build.gradle ) para usar a versão ktx da biblioteca Firebase.

Serviços do Google - plugin e arquivo de configuração

Como parte da adição do Firebase ao seu projeto Android, você precisa adicionar o plug google-services in google-services e um arquivo de configuração google-services.json ao seu projeto.

Se você adicionar o Firebase ao seu projeto Android por meio do console do Firebase , da Management REST API ou da Firebase CLI , deverá adicionar manualmente o plug-in e o arquivo de configuração ao seu projeto. No entanto, se você usar o Firebase Assistant , essas tarefas serão realizadas automaticamente durante a configuração.

Visite a documentação do Android para saber como o plug-in de serviços do Google e o arquivo de configuração funcionam juntos.

Firebase Android BoM (lista de materiais)

O Firebase Android BoM (lista de materiais) permite que você gerencie todas as versões da sua biblioteca Firebase especificando apenas uma versão - a versão do BoM.

Quando você usa o Firebase BoM em seu aplicativo, o BoM puxa automaticamente as versões individuais da biblioteca mapeadas para a versão do BoM. Todas as versões de bibliotecas individuais serão compatíveis. Quando você atualiza a versão do BoM em seu aplicativo, todas as bibliotecas do Firebase que você usa em seu aplicativo são atualizadas para as versões mapeadas para essa versão do BoM.

Para saber quais versões da biblioteca do Firebase são mapeadas para uma versão específica do BoM, verifique as notas de lançamento dessa versão do BoM. Se você precisar comparar as versões da biblioteca mapeadas para uma versão do BoM em comparação com outra versão do BoM, use o widget de comparação abaixo.

Saiba mais sobre o suporte do Gradle para plataformas BoM .

Veja como usar o Firebase Android BoM para declarar dependências em seu arquivo Gradle do módulo (nível de aplicativo) (geralmente app/build.gradle ). Ao usar o BoM, você não especifica versões de biblioteca individuais nas linhas de dependência.

dependencies {
  // Import the BoM for the Firebase platform
  implementation platform('com.google.firebase:firebase-bom:28.0.0')

  // Declare the dependencies for the desired Firebase products without specifying versions
  // For example, declare the dependencies for Firebase Authentication and Cloud Firestore
  implementation 'com.google.firebase:firebase-auth'
  implementation 'com.google.firebase:firebase-firestore'
}

Aqui estão algumas perguntas frequentes sobre o uso do Firebase Android BoM:

Compare as versões do Firebase BoM

Bibliotecas de extensões Kotlin (KTX)

As bibliotecas de extensões Kotlin do Firebase (KTX) são pequenas companheiras dos SDKs do Firebase que permitem que você escreva códigos Kotlin bonitos e idiomáticos.

Para usar uma biblioteca KTX em seu aplicativo, altere sua dependência para incluir o sufixo -ktx . Cada biblioteca KTX possui automaticamente uma dependência da biblioteca base, portanto, não há necessidade de incluir ambas as dependências em seu aplicativo.

dependencies {
  // Import the BoM for the Firebase platform (learn more)
  implementation platform('com.google.firebase:firebase-bom:28.0.0')

  // Declare the base library
  implementation 'com.google.firebase:firebase-analytics'

  // Declare the KTX library instead (which automatically has a dependency on the base library)
  implementation 'com.google.firebase:firebase-analytics-ktx'
}

Cada biblioteca KTX fornece diferentes extensões sintáticas da biblioteca base. Por exemplo, a biblioteca Analytics KTX torna mais simples registrar eventos:

Antes (usando a biblioteca base)

val analytics = FirebaseAnalytics.getInstance();
val bundle = Bundle();
bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id);
bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name);
bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "image");
analytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM, bundle);

Depois (usando a biblioteca KTX)

firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM) {
    param(FirebaseAnalytics.Param.ITEM_ID, id)
    param(FirebaseAnalytics.Param.ITEM_NAME, name)
    param(FirebaseAnalytics.Param.CONTENT_TYPE, "image")
}

Todos os produtos Firebase oferecem uma biblioteca KTX, exceto Firebase ML e App Indexing.

Se ainda não o fez, verifique os documentos de referência da API para as bibliotecas KTX.

Módulos de recursos e entrega de recursos do Play

A partir de maio de 2021 (Firebase BoM v28.0.0), os SDKs do Firebase Android podem ser usados ​​em módulos de recursos dinâmicos que são instalados separadamente de seu módulo de aplicativo base.

Para ativar o suporte para módulos de recursos dinâmicos, adicione a seguinte dependência ao arquivo build.gradle do módulo de base :

dependencies {
  implementation 'com.google.firebase:firebase-dynamic-module-support:16.0.0-beta01'
}

Agora que adicionou suporte a módulo dinâmico, você pode adicionar dependências do Firebase SDK (com ou sem Firebase BoM) para apresentar módulos de seu aplicativo e usá-los normalmente

Por exemplo, se seu aplicativo usa o Realtime Database para alimentar um recurso específico em tempo real, você pode adicionar a dependência build.gradle firebase-database ao build.gradle do módulo do recurso em vez do módulo base. Isso reduzirá o tamanho do download para a maioria dos usuários.

Esteja ciente das seguintes advertências ao usar SDKs do Firebase em módulos de recursos:

  • O Crashlytics não captura falhas do NDK quando usado em um módulo de recurso dinâmico.

  • Produtos como Dynamic Links ou Firebase In-App Messaging que contam com o evento first_open do Analytics podem perder esse evento quando usados ​​em um módulo de recurso dinâmico.

  • Ao usar o Cloud Firestore e o Authentication juntos, você deve sempre incluir os dois no mesmo módulo. Se isso não for possível, certifique-se de que a autenticação seja carregada antes do Cloud Firestore; caso contrário, algumas operações do Cloud Firestore podem ter um estado de autenticação incorreto.

Para obter mais informações sobre módulos de recursos e entrega de recursos do Play, visite Visão geral da entrega de recursos do Play .

Plug-in do Gradle dos serviços do Google vs serviços do Google Play vs Google Play Store

Várias partes do ecossistema Google, Firebase e Android têm convenções de nomenclatura semelhantes. Aqui está uma breve explicação para cada um:

Plug-in Gradle dos serviços do Google
Um plug com.google.gms.google-services in Gradle ( com.google.gms.google-services ) executado no momento da compilação para garantir que seu aplicativo tenha a configuração certa para acessar o Firebase e as APIs do Google
Apesar do nome, este plug-in não tem relação com os serviços do Google Play (consulte a próxima entrada) e não tem impacto sobre os recursos do seu aplicativo em tempo de execução.
Este plug-in também processa o arquivo google-services.json que você adiciona ao seu aplicativo como parte da configuração do Firebase. Saiba mais sobre o plug-in Gradle dos serviços do Google .
Serviços do Google Play
Um serviço invisível em segundo plano que é executado em um dispositivo Android e fornece várias APIs comuns do Google (como Google Maps e Google Sign In) para aplicativos no dispositivo
Ao centralizar essas APIs comuns em um único serviço, ele reduz o tamanho de outros aplicativos e permite que um dispositivo receba atualizações de segurança automáticas e aprimoramentos de recursos sem uma atualização do sistema operacional. Saiba mais sobre o Google Play Services .
Loja de aplicativos do Google
Uma loja para baixar aplicativos, filmes, livros e muito mais em um dispositivo Android
Como desenvolvedor, você gerencia a distribuição, os lançamentos etc. de seu aplicativo por meio do Google Play Console. Se um dispositivo tiver a Google Play Store, também está executando o Google Play Services (consulte a entrada anterior). Saiba mais sobre a Google Play Store para desenvolvedores .
Serviços de jogos do Google Play
Um conjunto de APIs para desenvolvedores de jogos móveis
Saiba mais sobre os serviços de jogos do Google Play e como integrar o Firebase ao seu projeto de serviços de jogos do Google Play .

Recursos de código aberto para Firebase Android SDKs

O Firebase oferece suporte ao desenvolvimento de código aberto e incentivamos as contribuições e comentários da comunidade.

Firebase Android SDKs

A maioria dos Firebase Android SDKs são desenvolvidos como bibliotecas de código aberto em nosso repositório público Firebase GitHub . Estamos trabalhando ativamente para mover as bibliotecas Firebase desenvolvidas de forma privada restantes para nosso GitHub público em breve!

Amostras de início rápido

O Firebase mantém uma coleção de exemplos de início rápido para a maioria das APIs do Firebase no Android. Encontre esses guias de início rápido em nosso repositório público de início rápido do Firebase GitHub .

Você pode abrir cada início rápido como um projeto do Android Studio e executá-los em um dispositivo móvel ou virtual (AVD). Ou você pode usar esses guias de início rápido como código de exemplo para usar os SDKs do Firebase.

Outros tópicos de interesse