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

Conecte seu aplicativo ao Firebase, conecte seu aplicativo ao Firebase

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 de início 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, revise a seção Entender as regras do Firebase Realtime Database .

    Para começar com o SDK da Web, Apple ou Android, selecione o modo de teste.

    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 , o URL do novo banco de dados estará em uma das seguintes formas:

    • 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 habilitar o Realtime Database, ele também habilita 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 da biblioteca Android do Realtime Database. Recomendamos usar o Firebase Android BoM para controlar o controle de versão da biblioteca.

Java

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:31.1.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 do 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 em seu aplicativo, é altamente recomendável 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'
}

Kotlin+KTX

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:31.1.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 do 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 em seu aplicativo, é altamente recomendável 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'
}

Configurar regras 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.

Gravar em 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.

Java

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

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

Kotlin+KTX

// Write a message to the database
val database = Firebase.database
val 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 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 toda vez que os dados são alterados, incluindo os filhos.

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());
    }
});

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())
    }
})

Opcional: configurar o 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 para ser usado!

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

Próximos passos