Firebase Remote Config'i kullanmaya başlayın


Uygulamanızdaki parametreleri tanımlamak ve buluttaki değerlerini 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 ve Remote Config SDK'sını 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 hedeflemesi için Google Analytics gereklidir. Projenizde Google Analytics'i etkinleştirdiğinizden emin olun.

  3. 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 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'te Remote Config'i kullanıyorsanız Xcode'da Anahtar Zinciri Paylaşımı'nı etkinleştirin.

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

Bir Remote Config nesne örneği alın ve sık sık yenileme yapılmasını sağlamak 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),
));

Tekil nesne, uygulama içi varsayılan parametre değerlerini depolamak, güncellenmiş parametre değerlerini arka uçtan getirmek ve getirilen değerlerin uygulamanıza ne zaman sunulacağını kontrol etmek için kullanılır.

Geliştirme sırasında, nispeten düşük bir minimum getirme aralığı belirlemeniz önerilir. Daha fazla bilgi için Kısıtlama bölümünü inceleyin.

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

Uygulama içi varsayılan parametre değerlerini Remote Config nesnesinde ayarlayabilirsiniz. Böylece uygulamanız Remote Config arka ucuna bağlanmadan önce amaçlandığı gibi davranır. Böylece, arka uçta hiçbir parametre ayarlanmamışsa varsayılan değerler kullanılabilir.

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 parametre değerlerini Remote Config nesnesinden alabilirsiniz. Arka uçta değerler ayarlar, bunları getirir ve ardından etkinleştirirseniz bu değerler uygulamanız tarafından kullanılabilir. Aksi takdirde, setDefaults() kullanılarak yapılandırılan uygulama içi parametre değerleri alırsınız.

Bu değerleri almak için aşağıda listelenen ve uygulamanızın beklediği veri türüyle eşleşen yöntemi çağırın ve parametre anahtarını bağımsız değişken olarak sağlayın:

  • 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ğerleri oluşturabilirsiniz. Bu bölümde, bu değerleri oluşturmak için gereken 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 bir varsayılan değer ayarlayabilir (bu değer, sonuçta karşılık gelen uygulama içi varsayılan değeri geçersiz kılar) ve koşullu değerler de ayarlayabilirsiniz. Daha fazla bilgi edinmek için Remote Config Parametreleri ve Koşulları bölümüne bakın.

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

  1. Parametre değerlerini Remote Config arka ucundan getirmek için fetch() yöntemini çağırın. Arka uçta ayarladığınız değerler getirilir ve Remote Config nesnesinde depolanır.

  2. Getirilen parametre değerlerini uygulamanızda kullanılabilir hale getirmek için activate() yöntemini çağırın.

    Bir çağrıda değerleri getirmek ve etkinleştirmek istediğiniz durumlarda, Remote Config arka ucundan değerler getirmek ve bunları uygulamada kullanılabilir hale getirmek için bir fetchAndActivate() isteği 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ılarınız için sorunsuz bir deneyim sağlayacak bir zamanda (kullanıcının uygulamanızı bir sonraki açışı gibi) etkinleştirmeniz gerekir. Daha fazla bilgi ve örnek için Remote Config yükleme stratejileri bölümüne bakın.

7. Adım: Güncellemeleri gerçek zamanlı olarak dinleyin

Parametre değerlerini getirdikten sonra, Remote Config arka ucundan gelen 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ınlamanızın ardından değişiklikleri otomatik olarak getirir.

Gerçek zamanlı Remote Config'in web'de kullanılamadığını unutmayın.

  1. Uygulamanızda, güncellemeleri dinlemeye başlamak ve yeni parametre değerlerini otomatik olarak getirmek için onConfigUpdated kodunu 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ü 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 bir süre içinde çok fazla kez getirirse 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. Diğer bir deyişle, gerçekte kaç getirme çağrısı yapıldığından bağımsız olarak yapılandırmalar 12 saatlik bir süre içinde arka uçtan birden fazla kez getirilemez.

Uygulama geliştirme sırasında (öneririz) gerçek zamanlı Remote Config'i kullanmıyorsanız uygulamanızı geliştirirken ve test ederken hızlı bir şekilde yinelemenizi sağlamak için yapılandırmaları sık sık (saatte birçok kez) getirip etkinleştirmek isteyebilirsiniz. En fazla 10 geliştiricinin olduğu projelerde 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 Remote Config kullanım alanlarını inceleyin ve aşağıdakiler de dahil olmak üzere bazı temel kavramlara ve gelişmiş stratejiler belgelerine göz atın: