Collega la tua app a Firebase

Se non l'hai già fatto, aggiungi Firebase al tuo progetto Android.

Crea un database

  1. Vai alla sezione Realtime Database della console Firebase. Ti verrà chiesto di selezionare un progetto Firebase esistente. Segui il flusso di lavoro per la creazione del database.

  2. Seleziona una modalità di avvio per il tuo Firebase Security Rules:

    Modalità di test

    Ideale per iniziare a utilizzare le librerie client web e mobile, ma consente a chiunque di leggere e sovrascrivere i tuoi dati. Dopo il test, effettua assicurati di rivedere la sezione Comprensione delle regole di Firebase Realtime Database. .

    di Gemini Advanced.

    Per iniziare a utilizzare l'SDK web, Apple o Android, seleziona testmode.

    Modalità di blocco

    Rifiuta tutte le letture e le scritture dai client web e mobile. I server delle applicazioni autenticati possono comunque accedere al database.

  3. Scegli una posizione per il database.

    In base posizione del database, L'URL del nuovo database sarà in uno dei seguenti formati:

    • DATABASE_NAME.firebaseio.com (per database in us-central1)

    • DATABASE_NAME.REGION.firebasedatabase.app (per i database in tutte le altre località)

  4. Fai clic su Fine.

Se abiliti Realtime Database, viene abilitata anche l'API nella Gestore API Cloud:

Aggiungi l'SDK Realtime Database alla tua app

Nel file Gradle del modulo (a livello di app) (di solito <project>/<app-module>/build.gradle.kts o <project>/<app-module>/build.gradle), aggiungi la dipendenza per la libreria Realtime Database per Android. Ti consigliamo di utilizzare Firebase Android BoM per controllare il controllo delle versioni delle librerie.

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

Se utilizzi Firebase Android BoM, la tua app utilizzerà sempre versioni compatibili delle librerie Firebase Android.

(alternativa) Aggiungi dipendenze della libreria Firebase senza utilizzare il BoM

Se scegli di non utilizzare Firebase BoM, devi specificare ogni versione della libreria Firebase nella sua linea di dipendenza.

Tieni presente che se nella tua app utilizzi più librerie Firebase, ti consigliamo vivamente di utilizzare BoM per gestire le versioni delle librerie, in modo da garantire la compatibilità di tutte le versioni.

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:21.0.0")
}
Cerchi un modulo della libreria specifico per Kotlin? A partire da Ottobre 2023 (Firebase BoM 32.5.0), gli sviluppatori Kotlin e Java possono dipendono dal modulo principale della libreria (per i dettagli, consulta Domande frequenti su questa iniziativa).

Configura Realtime Database Security Rules

Realtime Database offre un linguaggio di regole dichiarative che consente di definire come devono essere strutturati i dati e come devono essere indicizzati e quando è possibile leggere e scrivere i dati.

Scrivi nel tuo database

Recupera un'istanza del tuo database utilizzando getInstance() e riferimento alla località in cui desideri scrivere.

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

In questo modo puoi salvare una serie di tipi di dati nel database, incluso Java di oggetti strutturati. Quando salvi un oggetto, le risposte di eventuali getter verranno salvate come figli di questa posizione.

Lettura dal database

Per aggiornare i dati dell'app in tempo reale, devi aggiungere una ValueEventListener al riferimento appena creato.

Il metodo onDataChange() in questa classe viene attivato una volta quando il listener viene allegati e di nuovo ogni volta che i dati cambiano, inclusi i dati secondari.

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

(Facoltativo) Configura ProGuard

Quando utilizzi Firebase Realtime Database nella tua app insieme a ProGuard, devi: valuta come verranno serializzati e deserializzati gli oggetti del modello dell'offuscamento. Se usi DataSnapshot.getValue(Class) o DatabaseReference.setValue(Object) per leggere e scrivere dati, dovrai aggiungi regole al file 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.** {
      *;
    }

Per ricevere assistenza in merito a domande o problemi relativi a ProGuard, visita il Forum della community di Guardsquare per ricevere assistenza da un esperto.

Prepararsi al lancio

Prima di lanciare l'app, ti consigliamo di consultare la nostra elenco di controllo per il lancio per assicurarti che la tua app sia pronto

Assicurati di attivare App Check per garantire che solo le tue app possono accedere ai tuoi database.

Passaggi successivi