Conecte seu aplicativo ao Firebase

Adicione o Firebase ao seu projeto Android , caso ainda não o tenha feito.

Crie um banco de dados

  1. Navegue até a seção Realtime Database do console do Firebase . Você será solicitado a selecionar um projeto existente do Firebase. Siga o fluxo de trabalho de criação de banco de dados.

  2. Selecione um modo de inicialização para suas regras de segurança do Firebase:

    Modo de teste

    Bom para começar a usar as bibliotecas de cliente móvel e web, mas permite que qualquer pessoa leia e substitua seus dados. Após o teste, revise a seção Entenda as regras do Firebase Realtime Database .

    Para começar a usar o SDK da Web, Apple ou Android, selecione testmode.

    Modo bloqueado

    Nega todas as leituras e gravações de clientes móveis e da Web. Seus servidores de aplicativos autenticados ainda poderão acessar seu banco de dados.

  3. Escolha um local para o banco de dados.

    Dependendo da localização do banco de dados , a URL do novo banco de dados estará em um dos seguintes formatos:

    • DATABASE_NAME .firebaseio.com (para bancos de dados em us-central1 )

    • DATABASE_NAME . REGION .firebasedatabase.app (para bancos de dados em todos os outros locais)

  4. Clique em Concluído .

Ao ativar o Realtime Database, ele também ativa a API no Cloud API Manager .

Adicione o SDK do Realtime Database ao seu aplicativo

No arquivo Gradle do módulo (nível do aplicativo) (geralmente <project>/<app-module>/build.gradle.kts ou <project>/<app-module>/build.gradle ), adicione a dependência para o Realtime Database biblioteca para Android. Recomendamos usar o Firebase Android BoM para controlar o controle de versão da biblioteca.

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

    // Add the dependency for the Realtime Database library
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-database")
}

Ao usar o Firebase Android BoM , seu aplicativo sempre usará versões compatíveis das bibliotecas do Firebase Android.

(Alternativa) Adicionar dependências da biblioteca Firebase sem usar o BoM

Se você optar por não usar o Firebase BoM, deverá especificar cada versão da biblioteca do Firebase em sua linha de dependência.

Observe que se você usa várias bibliotecas do Firebase no seu aplicativo, é altamente recomendável usar a BoM para gerenciar as versões da biblioteca, o que garante que todas as versões sejam compatíveis.

dependencies {
    // Add the dependency for the Realtime Database library
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-database:20.3.1")
}
Procurando um módulo de biblioteca específico para Kotlin? A partir de outubro de 2023 (Firebase BoM 32.5.0) , tanto os desenvolvedores Kotlin quanto os Java podem depender do módulo da biblioteca principal (para obter detalhes, consulte o FAQ sobre esta iniciativa ).

Configurar regras de segurança do Realtime Database

O Realtime Database fornece uma linguagem de regras declarativas que permite definir como seus dados devem ser estruturados, como devem ser indexados e quando seus dados podem ser lidos e gravados.

Escreva em seu banco de dados

Recupere uma instância do seu banco de dados usando getInstance() e faça referência ao local onde você deseja gravar.

Kotlin+KTX

// Write a message to the database
val database = Firebase.database
val myRef = database.getReference("message")

myRef.setValue("Hello, World!")

Java

// Write a message to the database
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("message");

myRef.setValue("Hello, World!");

Dessa forma, você pode salvar vários tipos de dados no banco de dados, incluindo objetos Java. Quando você salva um objeto, as respostas de qualquer getter serão salvas como filhos deste local.

Leia do seu banco de dados

Para atualizar os dados do seu aplicativo em tempo real, você deve adicionar um ValueEventListener à referência que acabou de criar.

O método onDataChange() nesta classe é acionado uma vez quando o ouvinte é anexado e novamente sempre que os dados são alterados, incluindo os filhos.

Kotlin+KTX

// Read from the database
myRef.addValueEventListener(object : ValueEventListener {
    override fun onDataChange(dataSnapshot: DataSnapshot) {
        // This method is called once with the initial value and again
        // whenever data at this location is updated.
        val value = dataSnapshot.getValue<String>()
        Log.d(TAG, "Value is: $value")
    }

    override fun onCancelled(error: DatabaseError) {
        // Failed to read value
        Log.w(TAG, "Failed to read value.", error.toException())
    }
})

Java

// Read from the database
myRef.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
        // This method is called once with the initial value and again
        // whenever data at this location is updated.
        String value = dataSnapshot.getValue(String.class);
        Log.d(TAG, "Value is: " + value);
    }

    @Override
    public void onCancelled(@NonNull DatabaseError error) {
        // Failed to read value
        Log.w(TAG, "Failed to read value.", error.toException());
    }
});

Opcional: configurar o ProGuard

Ao usar o Firebase Realtime Database em seu aplicativo junto com o ProGuard, você precisa considerar como os objetos do modelo serão serializados e desserializados após a ofuscação. Se você usar DataSnapshot.getValue(Class) ou DatabaseReference.setValue(Object) para ler e gravar dados, você precisará adicionar regras ao arquivo proguard-rules.pro :

    # Add this global rule
    -keepattributes Signature

    # This rule will properly ProGuard all the model classes in
    # the package com.yourcompany.models.
    # Modify this rule to fit the structure of your app.
    -keepclassmembers class com.yourcompany.models.** {
      *;
    }

Para obter ajuda para dúvidas ou problemas relacionados ao ProGuard, visite os fóruns da comunidade Guardsquare para obter assistência de um especialista.

Prepare-se para o lançamento

Antes de lançar seu aplicativo, recomendamos consultar nossa lista de verificação de lançamento para ter certeza de que seu aplicativo está pronto para uso!

Certifique-se de ativar o App Check para ajudar a garantir que apenas seus aplicativos possam acessar seus bancos de dados.

Próximos passos