Flutter'da Remote Config'i kullanmaya başlama

Platform seçin: iOS+ Android Web Flutter Unity C++


Uygulamanızda parametreler tanımlamak ve bunların değerlerini bulutta güncellemek için Firebase Remote Config'i kullanabilirsiniz. Böylece, uygulama güncellemesi yayınlamadan uygulamanızın görünümünü ve davranışını değiştirebilirsiniz. Bu kılavuzda, başlangıç adımları açıklanmakta ve bazı örnek kodlar verilmektedir.

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ükleyip ilk kullanıma hazırlayın.

  2. 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.

  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'i ayarlama kapsamında Google Analytics için Firebase SDK'sını uygulamanıza 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 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, güncellenmiş parametre değerlerini arka uçtan getirmek ve getirilen değerlerin uygulamanızda ne zaman 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 bölümüne bakın.

3. adım: Uygulama içi varsayılan parametre değerlerini ayarlama

Remote Config nesnesinde uygulama içi varsayılan parametre değerleri ayarlayabilirsiniz. Böylece uygulamanız, Remote Config arka ucuna bağlanmadan önce istediğiniz gibi davranır ve arka uçta herhangi bir değer 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 kullanmak için parametre değerleri edinin

Artık Remote Config nesnesinden parametre değerlerini alabilirsiniz. Arka uçta değerler ayarlayıp bunları getirir ve etkinleştirirseniz bu değerler uygulamanızda kullanılabilir. 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 uygulamanızın beklediği veri türüyle eşleşen aşağıdaki yöntemlerden birini ç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 Firebase konsolunda uygulamanız gereken adımlar açıklanmaktadır.

  1. Firebase konsolunda DevOps & Engagement > Remote Config'e gidin.

  2. Uygulamanızda tanımladığınız parametrelerle aynı adlara sahip parametreler tanımlayın. Her parametre için varsayılan bir değer (sonuçta ilgili uygulama içi varsayılan değeri geçersiz kılar) ve koşullu değerler ayarlayabilirsiniz. Daha fazla bilgi edinmek için Remote Config parametreleri ve koşulları başlıklı makaleyi inceleyin.

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

  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 depolanır.

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

    Değerleri tek bir çağrıda getirip etkinleştirmek istediğiniz durumlarda, Remote Config arka ucundan değerleri getirip uygulamada kullanılabilir hale getirmek için fetchAndActivate() isteği kullanabilirsiniz:

    await remoteConfig.fetchAndActivate();
    

Bu güncellenmiş 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ının uygulamanızı bir sonraki açışı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 gerçek zamanlı Remote Config'i kullanabilirsiniz. Gerçek zamanlı Remote Config, güncellemeler kullanıma sunulduğunda bağlı cihazlara sinyal 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.

  1. Uygulamanızda, güncellemeleri dinlemeye başlamak ve yeni parametre değerlerini otomatik olarak almak 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ştirir.

Kısıtlama

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

Remote Config için varsayılan minimum getirme aralığı 12 saattir. Bu, yapılandırmaların 12 saatlik bir zaman aralığında, kaç tane getirme çağrısı yapıldığına bakılmaksızın 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 (kullanmanızı öneririz) 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. En fazla 10 geliştiricinin yer aldığı bir projede hızlı yineleme yapmak 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),
));