Uygulamanızı Firebase'e bağlama

Henüz yapmadıysanız Firebase'i Android projenize ekleyin.

Veritabanı Oluşturma

  1. Firebase konsolu. Mevcut bir Firebase projesini seçmeniz istenir. Veritabanı oluşturma iş akışını takip edin.

  2. Firebase Güvenlik Kurallarınız için bir başlangıç modu seçin:

    Test modu

    Mobil ve web istemci kitaplıklarını kullanmaya başlamak için idealdir. ancak herkesin verilerinizi okumasına ve üzerine yazmasına izin verir. Testten sonra, Firebase Gerçek Zamanlı Veritabanı Kurallarını Anlama bölümüne bakın.

    Web, Apple veya Android SDK'yı kullanmaya başlamak için testmode'u seçin.

    Kilitli mod

    Mobil istemcilerden ve web istemcilerinden tüm okuma ve yazma işlemlerini reddeder. Kimliği doğrulanmış uygulama sunucularınız, veritabanınıza erişmeye devam edebilir.

  3. Veritabanı için bir konum seçin.

    Seçtiğiniz düzenleme moduna veritabanının konumunu değiştiriyorsanız Yeni veritabanının URL'si aşağıdaki biçimlerden birinde olur:

    • DATABASE_NAME.firebaseio.com ( us-central1 konumundaki veritabanları)

    • DATABASE_NAME.REGION.firebasedatabase.app (diğer tüm konumlardaki veritabanları için)

  4. Bitti'yi tıklayın.

Realtime Database'i etkinleştirdiğinizde Cloud API Yöneticisi.

Realtime Database SDK'sını uygulamanıza ekleyin

Modül (uygulama düzeyinde) Gradle dosyanızda (genellikle <project>/<app-module>/build.gradle.kts veya <project>/<app-module>/build.gradle), Android için Realtime Database kitaplığına bağımlılığı ekleyin. Şunu kullanmanızı öneririz: Firebase Android BoM Kitaplık'ta sürüm oluşturmayı kontrol etmek için

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

    // 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")
}

Firebase Android BoM'u kullanarak, Uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanacaktır.

(Alternatif) BoM'u kullanmadan Firebase kitaplığı bağımlılıklarını ekleyin

Firebase BoM'yi kullanmamayı tercih ederseniz her Firebase kitaplığı sürümünü belirtmeniz gerekir değerini alır.

Uygulamanızda birden çok Firebase kitaplığı kullanıyorsanız, kitaplık sürümlerini yönetmek için BoM kullanmanızı öneririz. Böylece, uyumlu olur.

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")
}
.
'nı inceleyin. Kotlin'e özel bir kitaplık modülü mü arıyorsunuz? Başlamak için kalan süre: Ekim 2023 (Firebase BoM 32.5.0), hem Kotlin hem de Java geliştiricileri (ayrıntılar için bkz. bu girişimle ilgili SSS).

Realtime Database Güvenlik Kurallarını Yapılandırma

Realtime Database, raporlama temelli bir kural dili sunar. verilerinizin nasıl yapılandırılmasını, nasıl verilerinizin ne zaman okunup yazılabildiği gibi metrikleri içerir.

Veritabanınıza yazma

getInstance() ve komutlarını kullanarak veritabanınızın bir örneğini alın yazmak istediğiniz konumu belirtin.

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

Bu şekilde, Java da dahil olmak üzere çeşitli veri türlerini veritabanına kaydedebilirsiniz nesneler'i tıklayın. Bir nesneyi kaydettiğinizde, alıcılardan gelen yanıtlar bu konumun çocukları için geçerli.

Veritabanınızdan okuma

Uygulama verilerinizin gerçek zamanlı olarak güncellenmesi için ValueEventListener referansla ilişkilendirir.

Bu sınıftaki onDataChange() yöntemi, işleyici şu durumda bir kez tetiklenir: eklenir ve alt yayıncılar da dahil olmak üzere veriler her değiştiğinde tekrar eklenir.

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

İsteğe bağlı: ProGuard'ı yapılandırma

Uygulamanızda ProGuard ile birlikte Firebase Realtime Database'i kullanırken şunları yapmanız gerekir: sonrasında model nesnelerinizin nasıl serileştirileceğini ve seri durumdan çıkarılacağını kod karartma. DataSnapshot.getValue(Class) veya Veri okumak ve yazmak için DatabaseReference.setValue(Object) kullanıyorsanız şunları yapmanız gerekir proguard-rules.pro dosyasına kural ekleyin:

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

ProGuard ile ilgili sorularınız veya sorunlarınız için yardım almak için şu sayfayı ziyaret edin: Guardsquare Topluluk forumları kullanarak bir uzmandan yardım alabilirsiniz.

Lansmana Hazırlanın

Uygulamanızı kullanıma sunmadan önce, lansman kontrol listesini inceleyerek uygulamanızın başlamaya hazır!

Aşağıdakilerin geçerli olduğundan emin olmak için Uygulama Kontrolü'nü etkinleştirdiğinizden emin olun: veritabanlarınıza yalnızca sizin uygulamalarınız erişebilir.

Sonraki adımlar