Ikuti semua informasi yang diumumkan di Firebase Summit, dan pelajari bagaimana Firebase dapat membantu Anda mempercepat pengembangan aplikasi dan menjalankan aplikasi dengan percaya diri. Pelajari Lebih Lanjut

Hubungkan Aplikasi Anda ke Firebase, Hubungkan Aplikasi Anda ke Firebase

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

Jika Anda belum melakukannya, tambahkan Firebase ke proyek Android Anda .

Buat Basis Data

  1. Navigasikan ke bagian Realtime Database di Firebase console . Anda akan diminta untuk memilih proyek Firebase yang ada. Ikuti alur kerja pembuatan database.

  2. Pilih mode awal untuk Aturan Keamanan Firebase Anda:

    Modus uji

    Baik untuk memulai dengan pustaka klien seluler dan web, tetapi memungkinkan siapa saja untuk membaca dan menimpa data Anda. Setelah pengujian, pastikan untuk meninjau bagian Memahami Aturan Firebase Realtime Database .

    Untuk memulai web, Apple, atau Android SDK, pilih testmode.

    Modus terkunci

    Menolak semua pembacaan dan penulisan dari klien seluler dan web. Server aplikasi terautentikasi Anda masih dapat mengakses database Anda.

  3. Pilih lokasi untuk database.

    Bergantung pada lokasi database , URL untuk database baru akan berada dalam salah satu bentuk berikut:

    • DATABASE_NAME .firebaseio.com (untuk database di us-central1 )

    • DATABASE_NAME . REGION .firebasedatabase.app (untuk database di semua lokasi lain)

  4. Klik Selesai .

Saat Anda mengaktifkan Realtime Database, ini juga mengaktifkan API di Cloud API Manager .

Tambahkan Realtime Database SDK ke aplikasi Anda

Dalam file Gradle modul (level aplikasi) Anda (biasanya <project>/<app-module>/build.gradle ), tambahkan dependensi untuk library Android Realtime Database. Sebaiknya gunakan Firebase Android BoM untuk mengontrol pembuatan versi library.

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

Dengan menggunakan Firebase Android BoM , aplikasi Anda akan selalu menggunakan versi library Firebase Android yang kompatibel.

(Alternatif) Tambahkan dependensi library Firebase tanpa menggunakan BoM

Jika Anda memilih untuk tidak menggunakan Firebase BoM, Anda harus menentukan setiap versi pustaka Firebase di baris dependensinya.

Perhatikan bahwa jika Anda menggunakan beberapa pustaka Firebase di aplikasi Anda, kami sangat menyarankan penggunaan BoM untuk mengelola versi pustaka, yang memastikan bahwa semua versi kompatibel.

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

Dengan menggunakan Firebase Android BoM , aplikasi Anda akan selalu menggunakan versi library Firebase Android yang kompatibel.

(Alternatif) Tambahkan dependensi library Firebase tanpa menggunakan BoM

Jika Anda memilih untuk tidak menggunakan Firebase BoM, Anda harus menentukan setiap versi pustaka Firebase di baris dependensinya.

Perhatikan bahwa jika Anda menggunakan beberapa pustaka Firebase di aplikasi Anda, kami sangat menyarankan penggunaan BoM untuk mengelola versi pustaka, yang memastikan bahwa semua versi kompatibel.

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

Konfigurasi Aturan Basis Data Waktu Nyata

Realtime Database menyediakan bahasa aturan deklaratif yang memungkinkan Anda untuk menentukan bagaimana data Anda harus terstruktur, bagaimana itu harus diindeks, dan kapan data Anda dapat dibaca dan ditulis.

Tulis ke database Anda

Ambil instance database Anda menggunakan getInstance() dan rujuk ke lokasi yang ingin Anda tulis.

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

Anda dapat menyimpan berbagai tipe data ke database dengan cara ini, termasuk objek Java. Saat Anda menyimpan objek, respons dari pengambil apa pun akan disimpan sebagai anak dari lokasi ini.

Baca dari database Anda

Untuk membuat data aplikasi Anda diperbarui secara realtime, Anda harus menambahkan ValueEventListener ke referensi yang baru saja Anda buat.

Metode onDataChange() di kelas ini dipicu sekali saat listener terpasang dan dipicu lagi setiap kali data berubah, termasuk turunannya.

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

Opsional: Konfigurasikan ProGuard

Saat menggunakan Firebase Realtime Database di aplikasi Anda bersama dengan ProGuard, Anda perlu mempertimbangkan bagaimana objek model Anda akan diserialisasikan dan dideserialisasi setelah obfuscation. Jika Anda menggunakan DataSnapshot.getValue(Class) atau DatabaseReference.setValue(Object) untuk membaca dan menulis data, Anda perlu menambahkan aturan ke 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.** {
      *;
    }

Untuk mendapatkan bantuan untuk pertanyaan atau masalah terkait ProGuard, kunjungi forum Komunitas Guardsquare untuk mendapatkan bantuan dari pakar.

Bersiaplah untuk Peluncuran

Sebelum meluncurkan aplikasi Anda, kami sarankan untuk menelusuri daftar periksa peluncuran kami untuk memastikan aplikasi Anda siap digunakan!

Pastikan untuk mengaktifkan App Check untuk membantu memastikan bahwa hanya aplikasi Anda yang dapat mengakses database Anda.

Langkah selanjutnya

,

Jika Anda belum melakukannya, tambahkan Firebase ke proyek Android Anda .

Buat Basis Data

  1. Navigasikan ke bagian Realtime Database di Firebase console . Anda akan diminta untuk memilih proyek Firebase yang ada. Ikuti alur kerja pembuatan database.

  2. Pilih mode awal untuk Aturan Keamanan Firebase Anda:

    Modus uji

    Baik untuk memulai dengan pustaka klien seluler dan web, tetapi memungkinkan siapa saja untuk membaca dan menimpa data Anda. Setelah pengujian, pastikan untuk meninjau bagian Memahami Aturan Firebase Realtime Database .

    Untuk memulai web, Apple, atau Android SDK, pilih testmode.

    Modus terkunci

    Menolak semua pembacaan dan penulisan dari klien seluler dan web. Server aplikasi terautentikasi Anda masih dapat mengakses database Anda.

  3. Pilih lokasi untuk database.

    Bergantung pada lokasi database , URL untuk database baru akan berada dalam salah satu bentuk berikut:

    • DATABASE_NAME .firebaseio.com (untuk database di us-central1 )

    • DATABASE_NAME . REGION .firebasedatabase.app (untuk database di semua lokasi lain)

  4. Klik Selesai .

Saat Anda mengaktifkan Realtime Database, ini juga mengaktifkan API di Cloud API Manager .

Tambahkan Realtime Database SDK ke aplikasi Anda

Dalam file Gradle modul (level aplikasi) Anda (biasanya <project>/<app-module>/build.gradle ), tambahkan dependensi untuk library Android Realtime Database. Sebaiknya gunakan Firebase Android BoM untuk mengontrol pembuatan versi library.

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

Dengan menggunakan Firebase Android BoM , aplikasi Anda akan selalu menggunakan versi library Firebase Android yang kompatibel.

(Alternatif) Tambahkan dependensi library Firebase tanpa menggunakan BoM

Jika Anda memilih untuk tidak menggunakan Firebase BoM, Anda harus menentukan setiap versi pustaka Firebase di baris dependensinya.

Perhatikan bahwa jika Anda menggunakan beberapa pustaka Firebase di aplikasi Anda, kami sangat menyarankan penggunaan BoM untuk mengelola versi pustaka, yang memastikan bahwa semua versi kompatibel.

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

Dengan menggunakan Firebase Android BoM , aplikasi Anda akan selalu menggunakan versi library Firebase Android yang kompatibel.

(Alternatif) Tambahkan dependensi library Firebase tanpa menggunakan BoM

Jika Anda memilih untuk tidak menggunakan Firebase BoM, Anda harus menentukan setiap versi pustaka Firebase di baris dependensinya.

Perhatikan bahwa jika Anda menggunakan beberapa pustaka Firebase di aplikasi Anda, kami sangat menyarankan penggunaan BoM untuk mengelola versi pustaka, yang memastikan bahwa semua versi kompatibel.

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

Konfigurasi Aturan Basis Data Waktu Nyata

Realtime Database menyediakan bahasa aturan deklaratif yang memungkinkan Anda untuk menentukan bagaimana data Anda harus terstruktur, bagaimana itu harus diindeks, dan kapan data Anda dapat dibaca dan ditulis.

Tulis ke database Anda

Ambil instance database Anda menggunakan getInstance() dan rujuk ke lokasi yang ingin Anda tulis.

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

Anda dapat menyimpan berbagai tipe data ke database dengan cara ini, termasuk objek Java. Saat Anda menyimpan objek, respons dari pengambil apa pun akan disimpan sebagai anak dari lokasi ini.

Baca dari database Anda

Untuk membuat data aplikasi Anda diperbarui secara realtime, Anda harus menambahkan ValueEventListener ke referensi yang baru saja Anda buat.

Metode onDataChange() di kelas ini dipicu sekali saat listener terpasang dan dipicu lagi setiap kali data berubah, termasuk turunannya.

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

Opsional: Konfigurasikan ProGuard

Saat menggunakan Firebase Realtime Database di aplikasi Anda bersama dengan ProGuard, Anda perlu mempertimbangkan bagaimana objek model Anda akan diserialisasikan dan dideserialisasi setelah obfuscation. Jika Anda menggunakan DataSnapshot.getValue(Class) atau DatabaseReference.setValue(Object) untuk membaca dan menulis data, Anda perlu menambahkan aturan ke 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.** {
      *;
    }

Untuk mendapatkan bantuan untuk pertanyaan atau masalah terkait ProGuard, kunjungi forum Komunitas Guardsquare untuk mendapatkan bantuan dari pakar.

Bersiaplah untuk Peluncuran

Sebelum meluncurkan aplikasi Anda, kami sarankan untuk menelusuri daftar periksa peluncuran kami untuk memastikan aplikasi Anda siap digunakan!

Pastikan untuk mengaktifkan App Check untuk membantu memastikan bahwa hanya aplikasi Anda yang dapat mengakses database Anda.

Langkah selanjutnya