获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

Saiba mais sobre o Android e o Firebase

Ao desenvolver seu projeto Android usando o Firebase, você pode descobrir conceitos que não são familiares ou específicos do Firebase. Esta página tem como objetivo responder a essas perguntas ou indicar recursos para saber 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, volte para ver se adicionamos o tópico sobre o qual você deseja aprender!

Plug-in Firebase Assistant para Android Studio

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

Siga as instruções na página de introdução do Android para usar o Firebase Assistant. Verifique se você está usando as versões mais atualizadas do Android Studio e do Firebase Assistant (vá para File > Check for updates ).

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

  • Se você quiser usar o Firebase Android BoM , atualize as dependências em seu arquivo Gradle do módulo (nível do 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 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 — plug-in e arquivo de configuração

Como parte da adição do Firebase ao seu projeto Android, você precisa adicionar o plug-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 Firebase console , 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 executadas 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 (Bill of Materials) permite que você gerencie todas as suas versões da biblioteca do Firebase especificando apenas uma versão — a versão do BoM.

Quando você usa o Firebase BoM em seu aplicativo, o BoM extrai automaticamente as versões de bibliotecas individuais 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 serã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, confira 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 de módulo (nível de aplicativo) (geralmente app/build.gradle ). Ao usar o BoM, você não especifica versões de bibliotecas individuais nas linhas de dependência.

dependencies {
  // Import the BoM for the Firebase platform
  implementation platform('com.google.firebase:firebase-bom:31.1.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:

Comparar as versões do Firebase BoM

Bibliotecas de extensões Kotlin (KTX)

As bibliotecas de extensões do Firebase Kotlin (KTX) são pequenos companheiros dos SDKs básicos do Firebase que permitem que você escreva um código Kotlin bonito e idiomático.

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:31.1.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 simplifica o registro de 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 em vez disso)

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 Google Play

A partir de maio de 2021 (Firebase BoM v28.0.0), os Firebase Android SDKs podem ser usados ​​em módulos de recursos dinâmicos instalados separadamente do módulo de aplicativo básico.

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

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

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

Por exemplo, se seu aplicativo usar o Realtime Database para alimentar um recurso específico em tempo real, você poderá adicionar a dependência firebase firebase-database ao build.gradle do módulo de 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:

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

  • Ao usar Cloud Firestore e 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.

  • Ao usar firebase-crashlytics-ndk como uma dependência de um módulo de recurso dinâmico, você precisa definir a propriedade unstrippedNativeLibsDir no arquivo build.gradle do seu aplicativo, conforme descrito na documentação do Crashlytics NDK .

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

Plug-in Gradle dos serviços do Google versus serviços do Google Play versus 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 do Gradle para serviços do Google
Um plug-in do Gradle ( com.google.gms.google-services ) executado no momento da compilação para garantir que seu aplicativo tenha a configuração correta para acessar as APIs do Firebase e 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 afeta os recursos do 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 automáticas de segurança e aprimoramentos de recursos sem uma atualização do sistema operacional. Saiba mais sobre os serviços do Google Play .
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. do seu aplicativo por meio do Google Play Console. Se um dispositivo tiver a Google Play Store, ele também está executando os serviços do Google Play (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 o feedback da comunidade.

SDK do Firebase para Android

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

Exemplos de início rápido

O Firebase mantém uma coleção de amostras de início rápido para a maioria das APIs do Firebase no Android. Encontre esses inícios rápidos 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 um dispositivo virtual (AVD). Ou você pode usar estes inícios rápidos como código de exemplo para usar SDKs do Firebase.

Outros temas de interesse