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 su aplicación a Firebase,Conecte su aplicación a Firebase

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Si aún no lo ha hecho, agregue Firebase a su proyecto de Android .

Crear una base de datos

  1. Vaya a la sección Base de datos en tiempo real de la consola de Firebase . Se le pedirá que seleccione un proyecto de Firebase existente. Siga el flujo de trabajo de creación de la base de datos.

  2. Seleccione un modo de inicio para sus reglas de seguridad de Firebase:

    Modo de prueba

    Bueno para comenzar con las bibliotecas de clientes móviles y web, pero permite que cualquier persona lea y sobrescriba sus datos. Después de la prueba, asegúrese de revisar la sección Comprender las reglas de la base de datos en tiempo real de Firebase .

    Para comenzar con la web, Apple o Android SDK, seleccione el modo de prueba.

    modo bloqueado

    Niega todas las lecturas y escrituras de clientes móviles y web. Sus servidores de aplicaciones autenticados aún pueden acceder a su base de datos.

  3. Elija una ubicación para la base de datos.

    Según la ubicación de la base de datos , la URL de la nueva base de datos tendrá uno de los siguientes formatos:

    • DATABASE_NAME .firebaseio.com (para bases de datos en us-central1 )

    • DATABASE_NAME . REGION .firebasedatabase.app (para bases de datos en todas las demás ubicaciones)

  4. Haga clic en Listo .

Cuando habilita Realtime Database, también habilita la API en Cloud API Manager .

Agregue el SDK de Realtime Database a su aplicación

En el archivo Gradle de tu módulo (nivel de aplicación) (generalmente <project>/<app-module>/build.gradle ), agrega la dependencia para la biblioteca de Android de Realtime Database. Recomendamos usar Firebase Android BoM para controlar el control de versiones de la 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'
}

Al usar Firebase Android BoM , su aplicación siempre usará versiones compatibles de las bibliotecas de Firebase Android.

(Alternativa) Agregar dependencias de la biblioteca de Firebase sin usar el BoM

Si elige no usar Firebase BoM, debe especificar cada versión de la biblioteca de Firebase en su línea de dependencia.

Tenga en cuenta que si usa varias bibliotecas de Firebase en su aplicación, le recomendamos enfáticamente que use la lista de materiales para administrar las versiones de la biblioteca, lo que garantiza que todas las versiones sean compatibles.

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'
}

Al usar Firebase Android BoM , su aplicación siempre usará versiones compatibles de las bibliotecas de Firebase Android.

(Alternativa) Agregar dependencias de la biblioteca de Firebase sin usar el BoM

Si elige no usar Firebase BoM, debe especificar cada versión de la biblioteca de Firebase en su línea de dependencia.

Tenga en cuenta que si usa varias bibliotecas de Firebase en su aplicación, le recomendamos enfáticamente que use la lista de materiales para administrar las versiones de la biblioteca, lo que garantiza que todas las versiones sean compatibles.

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 reglas de base de datos en tiempo real

Realtime Database proporciona un lenguaje de reglas declarativas que le permite definir cómo se deben estructurar sus datos, cómo se deben indexar y cuándo se pueden leer y escribir sus datos.

Escribe en tu base de datos

Recupere una instancia de su base de datos usando getInstance() y haga referencia a la ubicación en la que desea escribir.

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!")

Puede guardar una variedad de tipos de datos en la base de datos de esta manera, incluidos los objetos Java. Cuando guarda un objeto, las respuestas de los captadores se guardarán como elementos secundarios de esta ubicación.

Leer de su base de datos

Para actualizar los datos de su aplicación en tiempo real, debe agregar un ValueEventListener a la referencia que acaba de crear.

El método onDataChange() en esta clase se activa una vez cuando se adjunta el oyente y nuevamente cada vez que cambian los datos, incluidos los elementos secundarios.

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 ProGuard

Al usar Firebase Realtime Database en su aplicación junto con ProGuard, debe considerar cómo se serializarán y deserializarán los objetos de su modelo después de la ofuscación. Si usa DataSnapshot.getValue(Class) o DatabaseReference.setValue(Object) para leer y escribir datos, deberá agregar reglas al archivo 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 obtener ayuda con preguntas o problemas relacionados con ProGuard, visite los foros de la comunidad de Guardsquare para obtener ayuda de un experto.

Prepárate para el lanzamiento

Antes de iniciar su aplicación, le recomendamos revisar nuestra lista de verificación de lanzamiento para asegurarse de que su aplicación esté lista para funcionar.

Asegúrese de habilitar App Check para asegurarse de que solo sus aplicaciones puedan acceder a sus bases de datos.

Próximos pasos