Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Conecte seu aplicativo ao Firebase, conecte seu aplicativo ao Firebase

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Se ainda não o fez, adicione o Firebase ao seu projeto Android .

Criar um banco de dados

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

  2. Selecione um modo inicial para suas regras de segurança do Firebase:

    Modo de teste

    Bom para começar com as bibliotecas de clientes móveis e da web, mas permite que qualquer pessoa leia e sobrescreva seus dados. Após o teste, certifique-se de revisar a seção Entenda as regras do Firebase Realtime Database .

    Para começar com a web, Apple ou Android SDK, selecione testmode.

    modo bloqueado

    Nega todas as leituras e gravações de clientes móveis e da web. Seus servidores de aplicativos autenticados ainda podem 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 .

Quando você ativa 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 ), adicione a dependência para a biblioteca Android do Realtime Database. Recomendamos usar o Firebase Android BoM para controlar o controle de versão da biblioteca.

Kotlin+KTX

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

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 Firebase em sua linha de dependência.

Observe que, se você usar várias bibliotecas do Firebase em seu aplicativo, recomendamos usar o 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-ktx:20.1.0'
}

Java

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:31.2.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 Firebase em sua linha de dependência.

Observe que, se você usar várias bibliotecas do Firebase em seu aplicativo, recomendamos usar o 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.1.0'
}

Configurar regras do banco de dados em tempo real

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 no seu banco de dados

Recupere uma instância de seu banco de dados usando getInstance() e faça referência ao local em que 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!");

Você pode salvar uma variedade de tipos de dados no banco de dados dessa maneira, incluindo objetos Java. Quando você salva um objeto, as respostas de quaisquer getters serão salvas como filhos desse local.

Leia do seu banco de dados

Para fazer a atualização dos 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 toda vez 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(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(DatabaseError error) {
        // Failed to read value
        Log.w(TAG, "Failed to read value.", error.toException());
    }
});

Opcional: Configurar ProGuard

Ao usar o Firebase Realtime Database em seu aplicativo junto com o ProGuard, você precisa considerar como seus objetos de 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, será necessário 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 percorrer nossa lista de verificação de lançamento para garantir que seu aplicativo esteja pronto!

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

Próximos passos