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ãoktx
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
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.2.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:
Veja como substituir uma versão de biblioteca designada no BoM:
Manter a linha para importar a plataforma BoM.
Na linha de dependência da biblioteca, especifique a versão da biblioteca desejada. Por exemplo, veja como declarar dependências se quiser usar a v18.0.0 do App Indexing, independentemente da versão designada no BoM, mas quiser usar as versões do BoM para Autenticação e Cloud Firestore:
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:31.2.0') // Declare the dependency for the App Indexing library and specify a version // This specified library version overrides the version designated in the BoM. implementation 'com.google.firebase:firebase-appindexing:18.0.0' // Declare the dependencies for the other Firebase libraries without specifying versions // These libraries will use the versions designated in the BoM. implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
Não. Para realmente adicionar e usar bibliotecas do Firebase em seu aplicativo, você deve declarar cada biblioteca como uma linha de dependência separada em seu arquivo Gradle do módulo (nível do aplicativo) (geralmente app/build.gradle
).
O uso do BoM garante que as versões de todas as bibliotecas do Firebase em seu aplicativo sejam compatíveis, mas o BoM não adiciona essas bibliotecas do Firebase ao seu aplicativo.
Sim! Ao declarar suas linhas de dependência específicas da biblioteca Firebase, basta usar o nome da biblioteca KTX, assim:
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:31.2.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-ktx' implementation 'com.google.firebase:firebase-firestore-ktx' }
Não. O Firebase Android BoM gerencia apenas versões de bibliotecas do Firebase. A única exceção é a inclusão do Google Mobile Ads SDK porque é muito usado em aplicativos Firebase.
Embora cada biblioteca do Firebase tenha versões independentes, elas são criadas em conjunto para garantir que a versão mais recente de cada biblioteca seja compatível com as outras.
Ao usar o BoM para gerenciar as versões da biblioteca do Firebase do seu aplicativo, você não precisa rastrear qual versão de uma biblioteca do Firebase é compatível com outra biblioteca do Firebase.
Mesmo que você use apenas uma biblioteca do Firebase em seu aplicativo no momento, ainda recomendamos o uso do BoM, porque você nunca sabe quando pode querer usar outra biblioteca do Firebase!
Sim, você ainda pode usar o BoM! Para Gradle 5.0 e posterior, o suporte BoM é ativado automaticamente. No entanto, para versões anteriores do Gradle, você só precisa habilitar o recurso BoM e importar o BoM de maneira um pouco diferente.
Para seu arquivo
settings.gradle
, adicioneenableFeaturePreview('IMPROVED_POM_SUPPORT')
.Para o arquivo Gradle do módulo (nível de aplicativo) (geralmente
app/build.gradle
), importe o BoM como uma biblioteca normal (sem o modificador deplatform
), assim:dependencies { // Import the Firebase BoM implementation 'com.google.firebase:firebase-bom:31.2.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' }
Visite o repositório Firebase Android SDK no GitHub .
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.2.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 propriedadeunstrippedNativeLibsDir
no arquivobuild.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
- Dependências dos SDKs do Firebase para Android nos serviços do Google Play
- Vincule seu aplicativo Firebase ao Google Play
- Integre-se ao seu projeto de serviços do Play Games