Firebase Remote Config'i kullanmaya başlayın


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. Bu kılavuz, başlangıç ​​adımlarında size yol gösterir ve bazı örnek kodlar sağlar.

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

  1. Henüz yapmadıysanız Flutter için Firebase SDK'larını yükleyin ve başlatın .

  2. Remote Config'de, 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. Flutter projenizin kök dizininden Remote Config eklentisini yüklemek için aşağıdaki komutu çalıştırın:

    flutter pub add firebase_remote_config
    

    Ayrıca Remote Config kurulumunun bir parçası olarak Google Analytics için Firebase SDK'sını uygulamanıza eklemeniz gerekir:

    flutter pub add firebase_analytics
    
  4. Projenizi yeniden oluşturun:

    flutter run
    
  5. MacOS'ta Remote Config kullanıyorsanız Xcode'da Anahtar Zinciri Paylaşımı'nı etkinleştirin.

Adım 2: Remote Config tekil nesnesini edinin

Bir Remote Config nesne örneği alın ve sık yenilemelere izin vermek 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, güncellenen parametre değerlerini arka uçtan getirmek ve getirilen değerlerin ne zaman uygulamanız tarafından kullanılabilir hale getirileceğ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 Kısıtlama konusuna bakın.

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.

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 kullanılacak parametre değerlerini alın

Artık Remote Config nesnesinden parametre değerlerini alabilirsiniz. Değerleri arka uçta ayarlayıp getirirseniz ve 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:

  • getBool()
  • getDouble()
  • getInt()
  • getString()

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ümde, bu değerleri oluşturmaya yönelik Firebase konsolu adımları açıklanmaktadır.

  1. Firebase konsolunda projenizi açın.
  2. Remote Config kontrol panelini 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 varsayılan bir değer ayarlayabilirsiniz (bu değer, sonuçta karşılık gelen uygulama içi varsayılan değeri geçersiz kılacaktır) ve ayrıca koşullu değerler de ayarlayabilirsiniz. Daha fazla bilgi edinmek için bkz. Uzaktan Yapılandırma Parametreleri ve Koşulları .

6. Adım: Değerleri getir ve etkinleştir

  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ızda kullanılabilir hale getirmek için activate() yöntemini çağırın.

    Değerleri tek çağrıda alıp etkinleştirmek istediğiniz durumlarda, Remote Config arka ucundan değerleri almak ve bunları uygulamanın kullanımına sunmak için bir fetchAndActivate() isteği kullanabilirsiniz:

    await remoteConfig.fetchAndActivate();
    

Güncellenen bu 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 (örneğin, kullanıcının uygulamanızı bir sonraki açılışında) etkinleştirmeniz gerekir. Daha fazla bilgi ve örnek için Remote Config yükleme stratejilerine bakın.

7. 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ı Remote Config'in Web için kullanılamadığını unutmayın.

  1. 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.
     });
    
  2. 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 yeni yapılandırmayı etkinleştirecektir.

Kısma

Bir uygulama kısa bir süre içinde çok fazla kez getirilirse, getirme çağrıları kısıtlanır ve FirebaseRemoteConfig lastFetchStatus özelliğinin değeri RemoteConfigFetchStatus.throttle olur.

Remote Config için varsayılan minimum getirme aralığı 12 saattir; bu, gerçekte kaç tane getirme çağrısı yapıldığına bakılmaksızın yapılandırmaların 12 saatlik bir pencerede bir kereden fazla arka uçtan getirilmeyeceği anlamına gelir.

Uygulama geliştirme sırasında, gerçek zamanlı Remote Config kullanmıyorsanız (ki bunu öneriyoruz), uygulamanızı geliştirirken ve test ederken hızlı bir şekilde yinelemenize olanak sağlamak için yapılandırmaları çok sık (saatte birçok kez) alıp etkinleştirmek isteyebilirsiniz. En fazla 10 geliştiricinin bulunduğu bir projede hızlı yinelemeye uyum sağlamak için setConfigSettings() ile geçici olarak düşük bir minimum getirme aralığı 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, uzaktan yapılandırma kullanım durumlarını keşfedin ve bazı temel kavramlara ve gelişmiş stratejiler belgelerini aşağıdakilere inceleyin: