Catch up on everything we announced at this year's Firebase Summit. Learn more

Installation et configuration sur Android

Connectez votre application à Firebase

Si vous avez pas déjà, ajoutez Firebase à votre projet Android .

Créer une base de données

  1. Accédez à la section de base de données en temps réel de la console Firebase . Vous serez invité à sélectionner un projet Firebase existant. Suivez le workflow de création de la base de données.

  2. Sélectionnez un mode de démarrage pour vos règles de sécurité Firebase :

    Mode d'essai

    Bon pour démarrer avec les bibliothèques clientes mobiles et Web, mais permet à n'importe qui de lire et d'écraser vos données. Après avoir testé, assurez - vous d'examiner le comprendre Firebase en temps réel les règles de base de données section.

    Pour commencer avec le Web, Apple ou Android SDK, sélectionnez testmode.

    Mode verrouillé

    Refuse toutes les lectures et écritures des clients mobiles et Web. Vos serveurs d'applications authentifiés peuvent toujours accéder à votre base de données.

  3. Choisissez une région pour la base de données. En fonction de votre choix de la région, l'espace de noms de base de données sera de la forme <databaseName>.firebaseio.com ou <databaseName>.<region>.firebasedatabase.app . Pour plus d' informations, voir certains endroits pour votre projet .

  4. Cliquez sur Terminé.

Lorsque vous activez la base de données en temps réel, il permet également l'API dans l' API Cloud Manager .

Ajoutez le SDK Realtime Database à votre application

Utilisation de la Firebase Android BoM , déclarer la dépendance de la base de données en temps réel dans votre bibliothèque Android module (app-niveau) de fichier Gradle (généralement app/build.gradle ).

Java

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

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

En utilisant le Firebase Android BoM , votre application utilise toujours des versions compatibles des bibliothèques Firebase Android.

(Alternative) déclarer des dépendances de bibliothèque firebase sans utiliser la nomenclature

Si vous choisissez de ne pas utiliser la nomenclature de Firebase, vous devez spécifier chaque version de la bibliothèque Firebase dans sa ligne de dépendance.

Notez que si vous utilisez plusieurs bibliothèques Firebase dans votre application, nous vous recommandons fortement d' utiliser la BoM pour gérer les versions bibliothèque, ce qui garantit que toutes les versions sont compatibles.

dependencies {
    // Declare 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.0.3'
}

Kotlin+KTX

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

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

En utilisant le Firebase Android BoM , votre application utilise toujours des versions compatibles des bibliothèques Firebase Android.

(Alternative) déclarer des dépendances de bibliothèque firebase sans utiliser la nomenclature

Si vous choisissez de ne pas utiliser la nomenclature de Firebase, vous devez spécifier chaque version de la bibliothèque Firebase dans sa ligne de dépendance.

Notez que si vous utilisez plusieurs bibliothèques Firebase dans votre application, nous vous recommandons fortement d' utiliser la BoM pour gérer les versions bibliothèque, ce qui garantit que toutes les versions sont compatibles.

dependencies {
    // Declare 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.0.3'
}

Configurer les règles de base de données en temps réel

La base de données en temps réel fournit un langage de règles déclaratives qui vous permet de définir comment vos données doivent être structurées, comment elles doivent être indexées et quand vos données peuvent être lues et écrites.

Écrivez à votre base de données

Récupérer une instance de votre base de données en utilisant getInstance() et faire référence à l'endroit où vous souhaitez écrire.

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

Vous pouvez ainsi enregistrer une gamme de types de données dans la base de données, y compris des objets Java. Lorsque vous enregistrez un objet, les réponses de tous les getters seront enregistrées en tant qu'enfants de cet emplacement.

Lire à partir de votre base de données

Pour faire votre mise à jour des données d'application en temps réel, vous devez ajouter un ValueEventListener à la référence que vous venez de créer.

Le onDataChange() méthode dans cette classe est déclenchée une fois quand l'auditeur est attaché et à nouveau à chaque fois que les changements de données, y compris les enfants.

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

Facultatif : Configurer ProGuard

Lorsque vous utilisez Firebase Realtime Database dans votre application avec ProGuard, vous devez considérer comment vos objets de modèle seront sérialisés et désérialisés après l'obscurcissement. Si vous utilisez DataSnapshot.getValue(Class) ou DatabaseReference.setValue(Object) à lire et à des données d'écriture, vous devrez ajouter des règles au proguard-rules.pro fichier:

    # 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.** {
      *;
    }

Pour obtenir de l' aide pour les questions ou les questions liées à ProGuard, visitez les forums communautaires Guardsquare pour obtenir l' aide d'un expert.

Préparer le lancement

Avant de lancer votre application, nous vous recommandons la marche à travers notre liste de contrôle de lancement pour vous assurer que votre application est prêt à partir!

Assurez - vous d'activer App Vérifiez pour vous assurer que vos applications ne peuvent accéder à vos bases de données.

Prochaines étapes