Uygulamanızdaki parametreleri tanımlamak ve bunların değerlerini bulutta güncellemek için Firebase Remote Config'i kullanabilirsiniz; böylece uygulama güncellemesi dağıtmadan uygulamanızın görünümünü ve davranışını değiştirebilirsiniz.
Remote Config kitaplığı, uygulama içi varsayılan parametre değerlerini depolamak, Remote Config arka ucundan güncellenmiş parametre değerlerini almak ve getirilen değerlerin ne zaman uygulamanız için kullanılabilir hale getirileceğini kontrol etmek için kullanılır. Daha fazla bilgi edinmek için Uzaktan Yapılandırma yükleme stratejilerine bakın.
1. Adım: Firebase'i uygulamanıza ekleyin
Remote Config'i kullanmadan önce şunları yapmanız gerekir:
C++ projenizi kaydedin ve Firebase'i kullanacak şekilde yapılandırın.
C++ projeniz zaten Firebase kullanıyorsa Firebase için zaten kayıtlı ve yapılandırılmış demektir.
Firebase C++ SDK'sını C++ projenize ekleyin.
Firebase'i C++ projenize eklemenin hem Firebase konsolundaki hem de açık C++ projenizdeki görevleri içerdiğini unutmayın (örneğin, Firebase yapılandırma dosyalarını konsoldan indirir ve ardından bunları C++ projenize taşırsınız).
2. Adım: Uygulamanıza Remote Config'i ekleyin
Android
Firebase'i uygulamanıza ekledikten sonra:
JNI ortamından ve Etkinlikten geçen bir Firebase Uygulaması oluşturun:
app = ::firebase::App::Create(::firebase::AppOptions(), jni_env, activity);
Remote Config kitaplığını gösterildiği gibi başlatın:
::firebase::remote_config::Initialize(app);
iOS+
Firebase'i uygulamanıza ekledikten sonra:
Firebase Uygulaması oluşturun:
app = ::firebase::App::Create(::firebase::AppOptions());
Remote Config kitaplığını gösterildiği gibi başlatın:
::firebase::remote_config::Initialize(app);
3. Adım: Uygulama içi varsayılan parametre değerlerini ayarlayın
Remote Config nesnesinde uygulama içi varsayılan parametre değerlerini ayarlayabilirsiniz; böylece uygulamanız, Remote Config arka ucuna bağlanmadan önce amaçlandığı gibi davranır ve arka uçta ayarlanmadığı takdirde varsayılan değerler kullanılabilir olur.
Bir
std::map<const char*, const char*>
nesnesi veya birstd::map<const char*, firebase::Variant>
nesnesi kullanarak bir dizi parametre adı ve varsayılan parametre değerleri tanımlayın.-
firebase::Variant
hakkında bilgi edinin.
Remote Config arka uç parametre değerlerini önceden yapılandırdıysanız, bu anahtar/değer çiftlerini içeren bir dosyayı indirebilir ve bunu
map
nesnenizi oluşturmak için kullanabilirsiniz. Daha fazla bilgi için bkz. Uzaktan Yapılandırma şablonu varsayılanlarını indirme .-
Bu değerleri
SetDefaults()
kullanarak Remote Config nesnesine ekleyin.
4. Adım: Uygulamanızda kullanılacak parametre değerlerini alın
Artık Remote Config nesnesinden parametre değerlerini alabilirsiniz. Remote Config arka ucunda değerleri ayarlarsanız, bunları getirirseniz ve ardından etkinleştirirseniz bu değerler uygulamanızda kullanılabilir. Aksi takdirde, SetDefaults()
kullanılarak yapılandırılmış uygulama içi parametre değerlerini alırsınız.
Bu değerleri elde etmek için, parametre anahtarını bağımsız değişken olarak sağlayarak, uygulamanızın beklediği veri türüyle eşleşen, aşağıda listelenen yöntemi çağırın:
5. Adım: Uygulamanızı Firebase konsoluna bağlayın
Firebase konsolunda uygulamanızı Firebase projenize ekleyin.
Adım 6: Parametre değerlerini ayarlayın
- Firebase konsolunda projenizi açın.
- Remote Config kontrol panelini görüntülemek için menüden Remote Config'i seçin.
- Uygulamanızda tanımladığınız parametrelerle aynı adlara sahip parametreleri tanımlayın. Her parametre için varsayılan bir değer (sonunda uygulama içi varsayılan değeri geçersiz kılacak) ve koşullu değerleri ayarlayabilirsiniz. Daha fazla bilgi edinmek için bkz. Uzaktan Yapılandırma parametreleri ve koşulları .
7. Adım: Değerleri getir ve etkinleştir
- 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 Remote Config nesnesine getirilir ve önbelleğe alınır. - Getirilen parametre değerlerini uygulamanızda kullanılabilir hale getirmek için
ActivateFetched()
işlevini çağırın.
8. Adım: Güncellemeleri gerçek zamanlı olarak dinleyin
Parametre değerlerini getirdikten sonra, Remote Config arka ucundan güncellemeleri dinlemek için gerçek zamanlı Remote Config'i kullanabilirsiniz. Gerçek Zamanlı Remote Config, güncellemeler mevcut olduğunda bağlı cihazlara sinyal gönderir ve yeni bir Remote Config sürümü yayınladıktan sonra değişiklikleri otomatik olarak getirir.
Gerçek zamanlı güncellemeler, Android ve Apple platformları için Firebase C++ SDK v11.0.0+ ve sonraki sürümleri tarafından desteklenir.
- Uygulamanızda, güncellemeleri dinlemeye başlamak ve yeni veya güncellenmiş parametre değerlerini otomatik olarak getirmek için
AddOnConfigUpdateListener
arayın. Aşağıdaki örnek, güncellemeleri dinler veActivate
çağrıldığında, güncellenmiş bir karşılama mesajını görüntülemek için yeni getirilen değerleri kullanır.
remote_config->AddOnConfigUpdateListener( [](firebase::remote_config::ConfigUpdate&& config_update, firebase::remote_config::RemoteConfigError remote_config_error) { if (remote_config_error != firebase::remote_config::kRemoteConfigErrorNone) { printf("Error listening for config updates: %d", remote_config_error); } // Search the `updated_keys` set for the key "welcome_message." // `updated_keys` represents the keys that have changed since the last // fetch. if (std::find(config_update.updated_keys.begin(), config_update.updated_keys.end(), "welcome_message") != config_update.updated_keys.end()) { remote_config->Activate().OnCompletion( [&](const firebase::Future& completed_future, void* user_data) { // The key "welcome_message" was found within `updated_keys` and // can be activated. if (completed_future.error() == 0) { DisplayWelcomeMessage(); } else { printf("Error activating config: %d", completed_future.error()); } }, nullptr); } });
Remote Config'inizin yeni bir sürümünü bir sonraki yayınlayışınızda, uygulamanızı çalıştıran ve değişiklikleri dinleyen cihazlar, yapılandırma güncelleme dinleyicisini arayacaktır.
Sonraki adımlar
Henüz yapmadıysanız, uzaktan yapılandırma kullanım durumlarını keşfedin ve bazı temel kavramlara ve gelişmiş stratejiler belgelerini aşağıdakilere inceleyin: