Uygulamanızda parametreleri tanımlamak ve güncelleme yapmak için Firebase Remote Config politikasını kullanabilirsiniz değerlerini buluttaki gibi göstererek, görünümünü ve davranışını değiştirebilirsiniz. uygulamanızı yüklemenizi sağlar. Bu kılavuz, başlangıç adımlarında size yol gösterir ve web sitesinden klonlayabilen veya indirilebilen örnek koda firebase/quickstart-android GitHub deposudur.
1. adım: Firebase ve Remote Config SDK'yı uygulamanıza ekleyin
Henüz yapmadıysanız Firebase'i Android projenize ekleyin.
Remote Config için Google Analytics gereklidir uygulama örneklerinin koşullu hedeflemesi kullanıcı özelliklerine ve kitlelere girebilir. Şunlardan emin olun: projenizde Google Analytics özelliğini etkinleştirirsiniz.
Modül (uygulama düzeyinde) Gradle dosyanızda (genellikle
<project>/<app-module>/build.gradle.kts
veya<project>/<app-module>/build.gradle
), Android için Remote Config kitaplığına bağımlılığı ekleyin. Şunu kullanmanızı öneririz: Firebase Android BoM Kitaplık'ta sürüm oluşturmayı kontrol etmek içinAyrıca, Analytics kurulumunu yaparken Firebase SDK'sını eklemeniz gerekir. Google Analytics için uygulamanıza.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.1.2")) // 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 kullanıldığında, Uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanacaktır.
(Alternatif) Firebase kitaplığı bağımlılıklarını kullanmadanBoM
Firebase BoM kullanmamayı seçerseniz 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. Bu, tüm sürümlerin uyumlu olduğundan emin olun.
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:22.0.0") implementation("com.google.firebase:firebase-analytics:22.0.2") }
2. Adım: Remote Config tekli nesnesini alın
Bir Remote Config nesne örneği alın ve minimum getirme aralığı (sık yenilemelere izin vermek için):
Kotlin+KTX
val remoteConfig: FirebaseRemoteConfig = Firebase.remoteConfig val configSettings = remoteConfigSettings { minimumFetchIntervalInSeconds = 3600 } remoteConfig.setConfigSettingsAsync(configSettings)
Java
FirebaseRemoteConfig mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance(); FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder() .setMinimumFetchIntervalInSeconds(3600) .build(); mFirebaseRemoteConfig.setConfigSettingsAsync(configSettings);
Singleton nesnesi, uygulama içi varsayılan parametre değerlerini depolamak, getirmek ve arka uçtan güncel parametre değerlerini kontrol edebilir ve kullanılabilir hale gelir.
Geliştirme sırasında, nispeten düşük bir minimum getirme değeri ayarlamanız önerilir. seçebilirsiniz. Kısıtlama bölümünü inceleyin konulu videomuzu izleyin.
3. Adım: Uygulama içi varsayılan parametre değerlerini ayarlayın
Uygulama içi varsayılan parametre değerlerini Remote Config ile bağlantı kurmadan önce amaçlandığı gibi davranmasını sağlamak için Remote Config arka uç sağlar ve böylece hiçbir arka uç olmadığında varsayılan değerler kullanılabilir arka uçta ayarlanır.
Parametre adlarını ve varsayılan parametre değerlerini tanımlamak için Harita nesnesi veya XML kaynak dosyası uygulamanızın
res/xml
klasöründe saklanıyor. Remote Config hızlı başlangıç kılavuzu örnek uygulama, XML dosyası kullanabilirsiniz.Hâlihazırda Remote Config arka uç parametre değerini yapılandırdıysanız tüm varsayılan değerleri ve mevcut değer içeren verileri içeren, bunu uygulamanızın
res/xml
dizinine kaydedin:REST
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
Parametreler sekmesinden, Menü'yü açın ve Varsayılan değerleri indir'i seçin.
İstendiğinde Android için.xml'yi etkinleştirin ve ardından Dosyayı indir
Bu değerleri, şunu kullanarak Remote Config nesnesine ekleyin:
setDefaultsAsync(int)
, gösterildiği gibi:Kotlin+KTX
remoteConfig.setDefaultsAsync(R.xml.remote_config_defaults)
Java
mFirebaseRemoteConfig.setDefaultsAsync(R.xml.remote_config_defaults);
4. adım: Uygulamanızda kullanılacak parametre değerlerini alın
Artık Remote Config nesnesinden parametre değerleri alabilirsiniz. Mevcut
arka uçtaki değerleri kullanıp bunları getirmeli ve daha sonra
uygulamanızda kullanılabiliyor. Aksi takdirde uygulama içi
parametre değerleri
setDefaultsAsync(int)
.
Bu değerleri almak için aşağıda listelenen ve veri türüyle eşleşen yöntemi çağırın
parametre anahtarını bağımsız değişken olarak sağlar:
5. Adım: Remote Config arka ucunda parametre değerlerini ayarlayın
Firebase konsolunu veya Remote Config arka uç API'si, uygulama içi değerleri geçersiz kılan yeni sunucu tarafı varsayılan değerleri oluşturabilirsiniz istediğiniz koşullu mantığa veya kullanıcı hedeflemesine göre. Bu bölüm Firebase konsolunda bu değerleri oluşturmak için uygulamanız gereken adımları açıklar.
- Firebase konsolunda projenizi açın.
- Remote Config öğesini görüntülemek için menüden Remote Config öğesini seçin. kontrol paneli
- Şu parametrede tanımladığınız parametrelerle aynı adlara sahip parametreleri tanımlayın: en iyi şekilde yararlanabilirsiniz. Her parametre için bir varsayılan değer ( karşılık gelen uygulama içi varsayılan değeri geçersiz kılabilir) koşullu değerler oluşturabilirsiniz. Daha fazla bilgi için Remote Config Parametreleri ve Koşullar.
6. Adım: Değerleri getirin ve etkinleştirin
- Remote Config arka ucundan parametre değerlerini getirmek için şunu çağırın:
fetch()
yöntemidir. Arka uçta ayarladığınız tüm değerler getirilir ve Remote Config nesnesinde depolanır. Getirilen parametre değerlerini uygulamanızda kullanılabilir hale getirmek için
activate()
yöntemidir.Değerleri tek bir çağrıda getirip etkinleştirmek istediğiniz durumlarda
fetchAndActivate()
Remote Config arka ucu ve bunları uygulamada kullanılabilir hale getirin: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() }
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(); } });
Bu güncellenen parametre değerleri davranışı ve görünümü etkilediği için getirmeyi seçerseniz, getirilen değerleri uygulamanın sağlandığından sorunsuz bir deneyim sunmasını sağlar (örneğin, kullanıcı uygulamasını indirin. Remote Config yükleme stratejilerine bakın daha fazla bilgi ve örnek bulabilirsiniz.
7. adım: Güncellemeleri gerçek zamanlı olarak dinleyin
Parametre değerlerini getirdikten sonra gerçek zamanlı Remote Config işlevini kullanarak Remote Config arka ucundan gelen güncellemeleri dinleyin. Gerçek zamanlı Güncelleme olduğunda bağlı cihazlara Remote Config sinyal geliyor ve yeni bir Remote Config yayınlamanızın ardından değişiklikleri otomatik olarak getirir sürümünü değil.
Gerçek zamanlı güncellemeler, Android 21.3.0+ (Firebase BoM) sürümü için Firebase SDK'sı tarafından desteklenir. sürüm 31.2.4 ve sonraki sürümler için geçerlidir.)
Uygulamanızda güncellemeleri dinlemeye başlamak için
addOnConfigUpdateListener()
uygulamasını kullanın ve yeni parametre değerlerini otomatik olarak getirir.onUpdate()
uygulayın geri çağırma işlevini kullanın.Kotlin+KTX
remoteConfig.addOnConfigUpdateListener(object : ConfigUpdateListener { override fun onUpdate(configUpdate : ConfigUpdate) { Log.d(TAG, "Updated keys: " + configUpdate.updatedKeys); if (configUpdate.updatedKeys.contains("welcome_message")) { remoteConfig.activate().addOnCompleteListener { displayWelcomeMessage() } } } override fun onError(error : FirebaseRemoteConfigException) { Log.w(TAG, "Config update error with code: " + error.code, error) } })
Java
mFirebaseRemoteConfig.addOnConfigUpdateListener(new ConfigUpdateListener() { @Override public void onUpdate(ConfigUpdate configUpdate) { Log.d(TAG, "Updated keys: " + configUpdate.getUpdatedKeys()); mFirebaseRemoteConfig.activate().addOnCompleteListener(new OnCompleteListener
() { @Override public void onComplete(@NonNull Task task) { displayWelcomeMessage(); } }); } @Override public void onError(FirebaseRemoteConfigException error) { Log.w(TAG, "Config update error with code: " + error.getCode(), error); } }); Bundan sonra Remote Config cihazınızın yeni bir sürümünü yayınladığınızda, cihazlar çalışan ve değişiklikleri dinleyen bir kullanıcı,
ConfigUpdateListener
.
Kısıtlama
Bir uygulama kısa bir süre içinde çok fazla getirme yaparsa getirme aramaları
Throttled ve SDK şunu döndürür:
FirebaseRemoteConfigFetchThrottledException
SDK 17.0.0 sürümünden önce,
sınır, 60 dakikada 5 getirme isteğiydi
pencere (yeni sürümlerde daha geniş kapsamlı izin sınırları vardır).
Uygulama geliştirme sürecinde, çok sayıda yapılandırmaları almak ve
geliştirdikçe ve sürekli yineleme yapabilmenizi sağlamak için sık sık (saatte birkaç kez)
uygulamanızı test edin. Gerçek zamanlı Remote Config güncellemeleri otomatik olarak
sunucu güncellendiğinde önbelleğe alınır. Hızlı iterasyona uyum sağlamak için
10’a kadar geliştiricinin bulunduğu bir projede geçici olarak
Minimum getirme aralığına sahip FirebaseRemoteConfigSettings
nesne
(setMinimumFetchIntervalInSeconds
) inceleyebilirsiniz.
Remote Config için varsayılan minimum getirme aralığı 12 saattir. yapılandırmaların 12 saat içinde arka uçtan bir kereden fazla alınmadığı anlamına gelir sayısını belirler. Daha ayrıntılı belirtmek gerekirse, minimum getirme aralığı şu sırayla belirlenir:
fetch(long)
hücresindeki parametreFirebaseRemoteConfigSettings.setMinimumFetchIntervalInSeconds(long)
hücresindeki parametre- Varsayılan değer olan 12 saat
Minimum getirme aralığını özel bir değere ayarlamak için FirebaseRemoteConfigSettings.Builder.setMinimumFetchIntervalInSeconds(long)
işlevini kullanın.
Sonraki adımlar
Henüz yapmadıysanız Remote Config hakkında bilgi edinin. kullanım alanlarına göz atın ve Aşağıdakileri içeren temel kavramlar ve gelişmiş stratejilerle ilgili belgeler: