Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Menghubungkan Aplikasi ke Firebase

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

Tambahkan Firebase ke project Android jika Anda belum melakukannya.

Membuat Database

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

  2. Pilih mode awal untuk Aturan Keamanan Firebase Anda:

    Mode uji

    Cocok untuk memulai dengan library klien seluler dan web, tetapi memungkinkan siapa pun untuk membaca dan menimpa data Anda. Setelah melakukan pengujian, pastikan untuk meninjau bagian Memahami Aturan Firebase Realtime Database.

    Untuk mulai menggunakan Web, Apple, atau Android SDK, pilih mode pengujian.

    Mode terkunci

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

  3. Pilih lokasi untuk database.

    Bergantung pada lokasi database, URL untuk database baru akan memiliki salah satu format berikut:

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

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

  4. Klik Done.

Saat Anda mengaktifkan Realtime Database, API di Pengelola Cloud API juga akan aktif.

Menambahkan Realtime Database SDK ke aplikasi Anda

Dalam file Gradle modul (level aplikasi), (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:30.4.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 Android Firebase yang kompatibel.

(Alternatif) Tambahkan dependensi library Firebase tanpa menggunakan BoM

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

Perlu diperhatikan bahwa jika Anda menggunakan beberapa library Firebase di aplikasi, sebaiknya gunakan BoM untuk mengelola versi library, 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.0.6'
}

Kotlin+KTX

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:30.4.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 Android Firebase yang kompatibel.

(Alternatif) Tambahkan dependensi library Firebase tanpa menggunakan BoM

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

Perlu diperhatikan bahwa jika Anda menggunakan beberapa library Firebase di aplikasi, sebaiknya gunakan BoM untuk mengelola versi library, 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.0.6'
}

Mengonfigurasi Aturan Realtime Database

Realtime Database menyediakan bahasa aturan deklaratif sehingga Anda dapat menentukan cara data disusun, diindeks, serta kapan data tersebut dapat dibaca dan ditulisi.

Menulis ke database Anda

Ambil instance database menggunakan getInstance() dan referensikan lokasi tujuan Anda ingin menulis.

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 bisa menyimpan berbagai jenis data ke database dengan cara ini, termasuk objek Java. Ketika Anda menyimpan sebuah objek, respons dari setiap pengambil akan disimpan sebagai turunan dari lokasi ini.

Membaca dari database Anda

Agar data aplikasi diperbarui secara real-time, Anda harus menambahkan ValueEventListener ke referensi yang baru saja dibuat.

Metode onDataChange() di class ini dipicu satu kali saat pemroses ditambahkan dan dipicu lagi setiap kali terjadi perubahan data, 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: Mengonfigurasi ProGuard

Ketika menggunakan Firebase Realtime Database di aplikasi Anda bersama dengan ProGuard, Anda perlu mempertimbangkan bagaimana objek model akan di-serialisasi dan di-deserialisasi setelah obfuscation dilakukan. Jika 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 atas pertanyaan atau masalah terkait dengan ProGuard, buka forum Komunitas Guardsquare untuk mendapatkan bantuan dari pakar.

Persiapan untuk Peluncuran

Sebelum meluncurkan aplikasi, sebaiknya Anda membaca checklist peluncuran untuk memastikan aplikasi siap diluncurkan.

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

Langkah Berikutnya