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

Firebase Remote Config'i kullanmaya başlayın

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.


Uygulamanızda parametreleri tanımlamak ve bunların değerlerini bulutta güncellemek için Firebase Remote Config'i kullanarak uygulama güncellemesi dağıtmadan uygulamanızın görünümünü ve davranışını değiştirebilirsiniz. Bu kılavuz, başlama adımlarında size yol gösterir ve tümü firebase/hızlı başlangıç-android GitHub deposundan kopyalanabilen veya indirilebilen bazı örnek kodlar sağlar.

1. Adım: Uygulamanıza Firebase ve Remote Config SDK'yı ekleyin

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

  2. Remote Config için, uygulama örneklerinin kullanıcı özelliklerine ve kitlelere koşullu olarak hedeflenmesi için Google Analytics gereklidir. Projenizde Google Analytics'i etkinleştirdiğinizden emin olun.

  3. Modülünüzde (uygulama düzeyinde) Gradle dosyanızda (genellikle <project>/<app-module>/build.gradle ), Remote Config Android kitaplığı için bağımlılığı ekleyin. Kitaplık sürümü oluşturmayı kontrol etmek için Firebase Android BoM'yi kullanmanızı öneririz.

    Ayrıca, Analytics'i kurmanın bir parçası olarak, Google Analytics için Firebase SDK'sını uygulamanıza eklemeniz gerekir.

    Java

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:30.5.0')
    
        // Add the dependencies for the Remote Config and Analytics libraries
        // When using the BoM, you don't specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-config'
        implementation 'com.google.firebase:firebase-analytics'
    }
    

    Firebase Android BoM'yi kullanarak uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanır.

    (Alternatif) BoM kullanmadan Firebase kitaplık bağımlılıkları ekleyin

    Firebase Malzeme Listesini kullanmamayı seçerseniz, her bir Firebase kitaplık sürümünü bağımlılık satırında belirtmeniz gerekir.

    Uygulamanızda birden fazla Firebase kitaplığı kullanıyorsanız kitaplık sürümlerini yönetmek için BoM'yi kullanmanızı şiddetle tavsiye ettiğimizi unutmayın; bu, tüm sürümlerin uyumlu olmasını sağlar.

    dependencies {
        // Add the dependencies for the Remote Config and Analytics libraries
        // When NOT using the BoM, you must specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-config:21.1.2'
        implementation 'com.google.firebase:firebase-analytics:21.1.1'
    }
    

    Kotlin+KTX

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:30.5.0')
    
        // Add the dependencies for the Remote Config and Analytics libraries
        // When using the BoM, you don't specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-config-ktx'
        implementation 'com.google.firebase:firebase-analytics-ktx'
    }
    

    Firebase Android BoM'yi kullanarak uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanır.

    (Alternatif) BoM kullanmadan Firebase kitaplık bağımlılıkları ekleyin

    Firebase Malzeme Listesini kullanmamayı seçerseniz, her bir Firebase kitaplık sürümünü bağımlılık satırında belirtmeniz gerekir.

    Uygulamanızda birden fazla Firebase kitaplığı kullanıyorsanız kitaplık sürümlerini yönetmek için BoM'yi kullanmanızı şiddetle tavsiye ettiğimizi unutmayın; bu, tüm sürümlerin uyumlu olmasını sağlar.

    dependencies {
        // Add the dependencies for the Remote Config and Analytics libraries
        // When NOT using the BoM, you must specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-config-ktx:21.1.2'
        implementation 'com.google.firebase:firebase-analytics-ktx:21.1.1'
    }
    

2. Adım: Remote Config singleton nesnesini alın

Bir Remote Config nesne örneği alın ve sık yenilemelere izin vermek için minimum getirme aralığını ayarlayın:

Java

FirebaseRemoteConfig mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
        .setMinimumFetchIntervalInSeconds(3600)
        .build();
mFirebaseRemoteConfig.setConfigSettingsAsync(configSettings);

Kotlin+KTX

val remoteConfig: FirebaseRemoteConfig = Firebase.remoteConfig
val configSettings = remoteConfigSettings {
    minimumFetchIntervalInSeconds = 3600
}
remoteConfig.setConfigSettingsAsync(configSettings)

Singleton nesnesi, uygulama içi varsayılan parametre değerlerini depolamak, arka uçtan güncellenen parametre değerlerini almak ve alınan değerlerin uygulamanız için ne zaman kullanıma sunulacağını kontrol etmek için kullanılır.

Geliştirme sırasında, nispeten düşük bir minimum getirme aralığı ayarlamanız önerilir. Daha fazla bilgi için Kısma bölümüne bakın.

3. Adım: Uygulama içi varsayılan parametre değerlerini ayarlayın

Uygulamanızın Remote Config arka ucuna bağlanmadan önce amaçlandığı gibi davranması ve arka uçta hiçbiri ayarlanmamışsa varsayılan değerlerin kullanılabilir olması için Remote Config nesnesinde uygulama içi varsayılan parametre değerlerini ayarlayabilirsiniz.

  1. Uygulamanızın res/xml klasöründe depolanan bir Map nesnesi veya bir XML kaynak dosyası kullanarak bir dizi parametre adı ve varsayılan parametre değeri tanımlayın. Remote Config hızlı başlangıç ​​örnek uygulaması, varsayılan parametre adlarını ve değerlerini tanımlamak için bir XML dosyası kullanır.

    Remote Config arka uç parametre değerlerini zaten yapılandırdıysanız, tüm varsayılan değerleri içeren oluşturulmuş bir XML dosyasını indirebilir ve bunu uygulamanızın res/xml dizinine kaydedebilirsiniz:

    DİNLENME

    curl --compressed -D headers -H "Authorization: Bearer token -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig:downloadDefaults?format=XML -o remote_config_defaults.xml
    

    Firebase konsolu

    1. Parametreler sekmesinde Menüsünü açın ve Varsayılan değerleri indir öğesini seçin.

    2. İstendiğinde, Android için .xml'i etkinleştirin ve ardından Dosyayı indir öğesini tıklayın.

  2. Bu değerleri, gösterildiği gibi setDefaultsAsync(int) kullanarak Remote Config nesnesine ekleyin:

    Java

    mFirebaseRemoteConfig.setDefaultsAsync(R.xml.remote_config_defaults);

    Kotlin+KTX

    remoteConfig.setDefaultsAsync(R.xml.remote_config_defaults)

4. Adım: Uygulamanızda kullanmak için parametre değerlerini alın

Artık Remote Config nesnesinden parametre değerlerini alabilirsiniz. Arka uçta değerler ayarlarsanız, bunları getirir ve ardından etkinleştirirseniz, bu değerler uygulamanızda kullanılabilir. Aksi takdirde, setDefaultsAsync(int) kullanılarak yapılandırılmış uygulama içi parametre değerlerini alırsınız. Bu değerleri almak için, parametre anahtarını bağımsız değişken olarak sağlayarak, uygulamanız tarafından beklenen veri türüyle eşleşen aşağıda listelenen yöntemi çağırın:

Adım 5: Remote Config arka ucunda parametre değerlerini ayarlayın

Firebase konsolunu veya Remote Config arka uç API'lerini kullanarak, istediğiniz koşullu mantığa veya kullanıcı hedeflemeye göre uygulama içi değerleri geçersiz kılan yeni sunucu tarafı varsayılan değerleri oluşturabilirsiniz. Bu bölüm, bu değerleri oluşturmaya yönelik Firebase konsol adımlarını açıklar.

  1. Firebase konsolunda projenizi açın.
  2. Remote Config panosunu görüntülemek için menüden Remote Config'i seçin.
  3. Uygulamanızda tanımladığınız parametrelerle aynı adlara sahip parametreleri tanımlayın. Her parametre için bir varsayılan değer ayarlayabilirsiniz (sonunda ilgili uygulama içi varsayılan değeri geçersiz kılar) ve ayrıca koşullu değerler de ayarlayabilirsiniz. Daha fazla bilgi edinmek için bkz. Remote Config Parameters and Conditions .

6. Adım: Değerleri alın ve etkinleştirin

  1. Remote Config arka ucundan parametre değerlerini almak için fetch() yöntemini çağırın. Arka uçta ayarladığınız tüm değerler alınır ve Remote Config nesnesinde saklanır.
  2. Getirilen parametre değerlerini uygulamanız için kullanılabilir hale getirmek için activate() yöntemini çağırın.

    Değerleri tek bir çağrıda almak ve etkinleştirmek istediğiniz durumlarda, Remote Config arka ucundan değerler almak ve bunları uygulamada kullanılabilir kılmak için bir fetchAndActivate() isteği kullanabilirsiniz:

    Java

    mFirebaseRemoteConfig.fetchAndActivate()
            .addOnCompleteListener(this, new OnCompleteListener<Boolean>() {
                @Override
                public void onComplete(@NonNull Task<Boolean> task) {
                    if (task.isSuccessful()) {
                        boolean updated = task.getResult();
                        Log.d(TAG, "Config params updated: " + updated);
                        Toast.makeText(MainActivity.this, "Fetch and activate succeeded",
                                Toast.LENGTH_SHORT).show();
    
                    } else {
                        Toast.makeText(MainActivity.this, "Fetch failed",
                                Toast.LENGTH_SHORT).show();
                    }
                    displayWelcomeMessage();
                }
            });

    Kotlin+KTX

    remoteConfig.fetchAndActivate()
        .addOnCompleteListener(this) { task ->
            if (task.isSuccessful) {
                val updated = task.result
                Log.d(TAG, "Config params updated: $updated")
                Toast.makeText(this, "Fetch and activate succeeded",
                    Toast.LENGTH_SHORT).show()
            } else {
                Toast.makeText(this, "Fetch failed",
                    Toast.LENGTH_SHORT).show()
            }
            displayWelcomeMessage()
        }

Bu güncellenen parametre değerleri uygulamanızın davranışını ve görünümünü etkilediğinden, örneğin kullanıcının uygulamanızı bir sonraki açılışında olduğu gibi, kullanıcınız için sorunsuz bir deneyim sağlayan bir zamanda alınan değerleri etkinleştirmelisiniz. Daha fazla bilgi ve örnekler için Remote Config yükleme stratejilerine bakın.

kısma

Bir uygulama kısa bir süre içinde çok fazla getirirse, getirme çağrıları kısıtlanır ve SDK, FirebaseRemoteConfigFetchThrottledException döndürür. SDK 17.0.0 sürümünden önce, sınır 60 dakikalık bir pencerede 5 getirme isteğiydi (daha yeni sürümlerde daha fazla izin verilen sınır var).

Uygulama geliştirme sırasında, uygulamanızı geliştirirken ve test ederken hızla yinelemenizi sağlamak için yapılandırmaları çok sık (saatte birçok kez) getirip etkinleştirmek isteyebilirsiniz. 10 geliştiriciye kadar bir projede hızlı yinelemeye uyum sağlamak için, uygulamanızda düşük minimum getirme aralığına ( setMinimumFetchIntervalInSeconds ) sahip bir FirebaseRemoteConfigSettings nesnesini geçici olarak ayarlayabilirsiniz.

Remote Config için varsayılan minimum getirme aralığı 12 saattir; bu, gerçekte kaç tane getirme çağrısı yapıldığından bağımsız olarak, yapılandırmaların arka uçtan 12 saatlik bir pencerede bir kereden fazla getirilmeyeceği anlamına gelir. Spesifik olarak, minimum getirme aralığı şu sırayla belirlenir:

  1. fetch(long)
  2. FirebaseRemoteConfigSettings.setMinimumFetchIntervalInSeconds(long) içindeki parametre
  3. 12 saatlik varsayılan değer

Minimum getirme aralığını özel bir değere ayarlamak için FirebaseRemoteConfigSettings.Builder.setMinimumFetchIntervalInSeconds(long) kullanın.

Sonraki adımlar

Henüz yapmadıysanız, Remote Config kullanım örneklerini inceleyin ve aşağıdakiler dahil bazı temel kavramlara ve gelişmiş strateji belgelerine göz atın: