Configuração nativa Android
Para permitir que o aplicativo Android se conecte com segurança ao seu projeto Firebase, um arquivo de configuração deve ser baixado e adicionado ao seu projeto.
Gerando credenciais Android
No console do Firebase, adicione um novo aplicativo Android e insira os detalhes do seu projeto. O "nome do pacote Android" deve corresponder ao nome do pacote de seus projetos locais, que pode ser encontrado dentro da tag de manifesto no arquivo /android/app/src/main/AndroidManifest.xml em seu projeto.
Baixe o arquivo google-services.json e coloque-o dentro de seu projeto no seguinte local: /android/app/google-services.json.
Configure o Firebase com credenciais do Android
Para permitir que o Firebase no Android use as credenciais, o plug-in google-services deve estar ativado no projeto. Isso requer modificação em dois arquivos no diretório Android.
Primeiro, adicione o plug-in google-services como uma dependência dentro de seu arquivo */android/build.gradle:
buildscript {
dependencies {
// ... other dependencies
classpath 'com.google.gms:google-services:4.3.10'
// Add me --- /\
}
}
Por último, execute o plug-in adicionando o seguinte ao seu arquivo /android/app/build.gradle:
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services' // <- Add this line
Configurações adicionais
Android Enabling Multidex
Conforme seu aplicativo começa a crescer com mais dependências nativas, suas compilações podem começar a falhar com o erro comum Falha de execução para a tarefa ': app: mergeDexDebug'. Este erro ocorre quando o Android atinge o limite de 64k métodos.
Uma solução comum é habilitar o suporte multidex para Android. Esta é uma solução comum para resolver o problema, no entanto, é recomendável que você leia a documentação do Android para entender como isso pode afetar seu aplicativo.
Depois de alterado, faça uma nova Build de seu aplicativo com npx react-native run-android.
project.ext {
set('react-native', [
versions: [
// Overriding Build/Android SDK Versions
android : [
minSdk : 16,
targetSdk : 30,
compileSdk: 30,
buildTools: "30.0.2"
],
// Overriding Library SDK Versions
firebase: [
// Override Firebase SDK Version
bom : "28.3.1"
],
],
])
}
Aumentando a memória de construção do Android
Conforme você adiciona mais módulos Firebase, há uma demanda incrível colocada no sistema de compilação do Android, e as configurações de memória padrão não funcionam. Para evitar erros OutOfMemory durante compilações do Android, você deve descomentar a configuração de memória Gradle alternativa presente em /android/gradle.properties:
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
Desempenho Android
No Android, o React Native Firebase usa o executor do pool de threads para fornecer melhor desempenho e recursos gerenciados. Para aumentar a capacidade, você pode ajustar o executor do pool de threads por meio do arquivo firebase.json na raiz do seu projeto:
// <project-root>/firebase.json
{
"react-native": {
"android_task_executor_maximum_pool_size": 10,
"android_task_executor_keep_alive_seconds": 3
}
}
android_task_executor_maximum_pool_size | Maximum pool size of ThreadPoolExecutor. Defaults to 1. Larger values typically improve performance when executing large numbers of asynchronous tasks, e.g. Firestore queries. Setting this value to 0 completely disables the pooled executor and all tasks execute in serial per module. |
android_task_executor_keep_alive_seconds | Tempo de manutenção de funcionamento de ThreadPoolExecutor, em segundos. O padrão é 3. Threads em excesso no executor do pool serão encerrados se ficarem inativos por mais do que o tempo de manutenção de funcionamento. Este valor não tem efeito quando o tamanho máximo do pool é inferior a 2. |
Updated 8 months ago