Uygulamanızdaki parametreleri tanımlamak ve değerlerini bulutta güncellemek için Firebase Remote Config'i kullanabilirsiniz. Bu sayede, uygulama güncellemesi dağıtmadan uygulamanızın görünümünü ve davranışını değiştirebilirsiniz. Bu kılavuzda, kullanmaya başlama adımları açıklanmakta ve bazı örnek kodlar verilmektedir.
1. adım: Uygulamanıza Firebase ve Remote Config SDK'sını ekleyin
Henüz yapmadıysanız Flutter için Firebase SDK'larını yükleyin ve başlatın.
Remote Config için, uygulama örneklerinin kullanıcı özelliklerine ve kitlelere koşullu olarak hedeflenmesi amacıyla Google Analytics gereklidir. Projenizde Google Analytics'i etkinleştirdiğinizden emin olun.
Remote Config eklentisini yüklemek için Flutter projenizin kök dizininden aşağıdaki komutu çalıştırın:
flutter pub add firebase_remote_config
Ayrıca, Remote Config'i ayarlamanın bir parçası olarak uygulamanıza Google Analytics için Firebase SDK'sını eklemeniz gerekir:
flutter pub add firebase_analytics
Projenizi yeniden oluşturun:
flutter run
macOS'te Remote Config kullanıyorsanız Xcode'da Anahtar Zinciri Paylaşımı'nı etkinleştirin.
2. adım: Remote Config singleton nesnesini oluşturun
Remote Config nesne örneği oluşturun ve yenileme işleminin sık sık gerçekleşmesi için minimum getirme aralığını ayarlayın:
final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
fetchTimeout: const Duration(minutes: 1),
minimumFetchInterval: const Duration(hours: 1),
));
Singleton nesnesi, uygulama içi varsayılan parametre değerlerini depolamak, arka uçtan güncellenmiş parametre değerlerini getirmek ve getirilen değerlerin uygulamanızda ne zaman kullanılabileceğini 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 Sınırlama başlıklı makaleyi inceleyin.
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 ayarlanmamışsa varsayılan değerlerin kullanılabilmesi için uygulama içi varsayılan parametre değerlerini Remote Config nesnesinde ayarlayabilirsiniz.
await remoteConfig.setDefaults(const {
"example_param_1": 42,
"example_param_2": 3.14159,
"example_param_3": true,
"example_param_4": "Hello, world!",
});
4. adım: Uygulamanızda kullanmak için parametre değerleri edinin
Artık Remote Config nesnesinden parametre değerleri alabilirsiniz. Arka uçta değerler ayarlarsanız, bu değerleri getirip etkinleştirdikten sonra uygulamanızda kullanabilirsiniz. Aksi takdirde, setDefaults()
kullanılarak yapılandırılan uygulama içi parametre değerlerini alırsınız.
Bu değerleri almak için aşağıdaki yöntemi çağırın. Bu yöntem, parametre anahtarını bağımsız değişken olarak sağlayarak uygulamanızın beklediği veri türüyle eşlenir:
getBool()
getDouble()
getInt()
getString()
5. adım: 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ğerler oluşturabilirsiniz. Bu bölümde, bu değerleri oluşturmak için Firebase konsolunda yapılması gereken işlemler açıklanmaktadır.
- Firebase konsolunda projenizi açın.
- Remote Config gösterge tablosunu görüntülemek için menüden Remote Config'i seçin.
- Uygulamanızda tanımladığınız parametrelerle aynı ada sahip parametreler tanımlayın. Her parametre için bir varsayılan değer ayarlayabilirsiniz (bu değer, sonunda ilgili uygulama içi varsayılan değeri geçersiz kılar). Ayrıca koşullu değerler de ayarlayabilirsiniz. Daha fazla bilgi için Remote Config Parametreleri ve Koşulları başlıklı makaleyi inceleyin.
6. adım: Değerleri getirin ve etkinleştirin
Remote Config arka ucundan parametre değerlerini getirmek için
fetch()
yöntemini çağırın. Arka uçta ayarladığınız tüm değerler getirilip Remote Config nesnesinde depolanır.Getirilen parametre değerlerini uygulamanızda kullanmak için
activate()
yöntemini çağırın.Değerleri tek bir çağrıyla getirmek ve etkinleştirmek istediğiniz durumlarda, Remote Config arka ucundan değerleri getirmek ve bunları uygulamada kullanılabilir hale getirmek için
fetchAndActivate()
isteğini kullanabilirsiniz:await remoteConfig.fetchAndActivate();
Bu güncellenen parametre değerleri, uygulamanızın davranışını ve görünümünü etkilediğinden, getirilen değerleri kullanıcınız için sorunsuz bir deneyim sağlayacak bir zamanda (ör. kullanıcı uygulamanızı bir sonraki açtığında) etkinleştirmeniz gerekir. Daha fazla bilgi ve örnek için Remote Config yükleme stratejileri başlıklı makaleyi inceleyin.
7. adım: Güncellemeleri anlık olarak dinleyin
Parametre değerlerini getirdikten sonra, Remote Config arka ucundan gelen güncellemeleri dinlemek için anlık Remote Config'i kullanabilirsiniz. Güncellemeler kullanıma sunulduğunda bağlı cihazlara anlık Remote Config sinyalleri gönderir ve yeni bir Remote Config sürümü yayınladığınızda değişiklikleri otomatik olarak getirir.
Gerçek zamanlı Remote Config'in Web'de kullanılamadığını unutmayın.
Uygulamanızda, güncellemeleri dinlemeye başlamak ve yeni parametre değerlerini otomatik olarak getirmek için
onConfigUpdated
kullanın.remoteConfig.onConfigUpdated.listen((event) async { await remoteConfig.activate(); // Use the new config values here. });
Remote Config'inizin yeni bir sürümünü bir sonraki yayınladığınızda, uygulamanızı çalıştıran ve değişiklikleri dinleyen cihazlar yeni yapılandırmayı etkinleştirir.
Kısıtlama
Bir uygulama kısa süre içinde çok fazla getirme işlemi yaparsa getirme çağrıları sınırlandırılır ve FirebaseRemoteConfig
öğesinin lastFetchStatus
özelliği RemoteConfigFetchStatus.throttle
olur.
Remote Config için varsayılan minimum getirme aralığı 12 saattir. Bu, kaç getirme çağrısı yapıldığına bakılmaksızın yapılandırmaların 12 saatlik bir süre içinde arka uçtan birden fazla kez getirilmeyeceği anlamına gelir.
Uygulama geliştirme sırasında, gerçek zamanlı Remote Config'i kullanmıyorsanız (önerdiğimiz yöntem) uygulamanızı geliştirip test ederken hızlı bir şekilde yineleme yapabilmek için yapılandırmaları çok sık (saatte birçok kez) getirip etkinleştirmek isteyebilirsiniz. 10 geliştiriciye kadar olan bir projede hızlı yinelemeyi desteklemek için setConfigSettings()
ile minimum getirme aralığını geçici olarak düşük bir değere ayarlayabilirsiniz.
final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
fetchTimeout: const Duration(minutes: 1),
minimumFetchInterval: const Duration(minutes: 5),
));
Sonraki adımlar
Henüz yapmadıysanız Remote Config kullanım alanlarını inceleyin ve aşağıdakiler de dahil olmak üzere bazı temel kavramlar ile gelişmiş stratejilerle ilgili dokümanlara göz atın: