Firebase Remote Config'i kullanmaya başlayın


Firebase Remote Config'i kullanarak uygulamanızdaki parametreleri tanımlayabilir ve bunların değerlerini bulutta güncelleyebilirsiniz. Bu sayede 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östermekte ve bazı örnek kodlar sunmaktadır.

1. adım: Firebase 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. Remote Config eklentisini yüklemek için Flutter projenizin kök dizininde aşağıdaki komutu çalıştırın:

    flutter pub add firebase_remote_config
    

    Ayrıca, Remote Config'i ayarlama kapsamında uygulamanıza Google Analytics için Firebase SDK'sını eklemeniz gerekir:

    flutter pub add firebase_analytics
    
  4. Projenizi yeniden derleyin:

    flutter run
    
  5. macOS'te Remote Config 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 yenilemeler 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ılabilir olacağını 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 bölümüne 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ğerleri ayarlayabilirsiniz. Böylece, uygulamanız Remote Config arka ucuna bağlanmadan önce amaçlandığı gibi davranır ve arka uçta hiçbiri ayarlanmazsa 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 Remote Config nesnesinden parametre değerleri alabilirsiniz. Arka uçta değerler ayarlar, bunları getirir ve 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 elde edersiniz.

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 uygulama içi değerleri istediğiniz koşullu mantığa veya kullanıcı hedeflemesine göre geçersiz kılan yeni sunucu tarafı varsayılan değerleri oluşturabilirsiniz. Bu bölümde, bu değerleri oluşturmak için Firebase konsolunda uygulanacak 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. Parametreleri, uygulamanızda tanımladığınız parametrelerle aynı adlara sahip olarak tanımlayın. Her parametre için bir varsayılan değer ayarlayabilir (bu değer ileride karşılık gelen uygulama içi varsayılan değeri geçersiz kılacaktır) ve koşullu değerler belirleyebilirsiniz. Daha fazla bilgi edinmek için Remote Config Parametreleri ve Koşulları bölümünü inceleyin.

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

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

  2. Getirilen parametre değerlerini uygulamanızda kullanılabilmesini sağlamak için activate() yöntemini çağırın.

    Değerleri bir çağrıda getirip etkinleştirmek istediğiniz durumlarda, Remote Config arka ucundan değer getirmek ve bunları uygulamanın kullanımına sunmak 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ın uygulamanızı bir sonraki açışı gibi sorunsuz bir deneyim sağlayacak bir zamanda 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 gelen güncellemeleri dinlemek için gerçek zamanlı Remote Config'i kullanabilirsiniz. Gerçek zamanlı Remote Config, güncellemeler hazır 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.

Web'de gerçek zamanlı Remote Config'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 komutunu 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 getirme yaparsa 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ç getirme çağrısının 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 kullanmıyorsanız (bunu yapmanızı öneririz). Yapılandırmaları çok sık bir şekilde (saatte birkaç kez) getirip etkinleştirmek isteyebilirsiniz. Böylece, uygulamanızı geliştirip test ederken hızlı bir şekilde iterasyon yapabilirsiniz. 10'a kadar geliştiricinin bulunduğu bir projede hızlı iterasyona uymak 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 dahil olmak üzere bazı temel kavramlara ve gelişmiş strateji belgelerine göz atın: