Firebase is back at Google I/O on May 10! Register now

Firebase Remote Config'i kullanmaya başlayın

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.


Uygulamanızdaki parametreleri tanımlamak ve buluttaki değerlerini güncellemek için Firebase Remote Config'i kullanabilirsiniz, böylece bir 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; bunların tümü , firebase/quickstart-ios GitHub deposundan kopyalanabilir veya indirilebilir.

1. Adım: Uygulamanıza Remote Config ekleyin

  1. Apple platformları için Firebase SDK'sını kurun .

  2. Aşağıdaki örnekte gösterildiği gibi tekil Remote Config nesnesini oluşturun:

    Süratli

    remoteConfig = RemoteConfig.remoteConfig()
    let settings = RemoteConfigSettings()
    settings.minimumFetchInterval = 0
    remoteConfig.configSettings = settings

    Amaç-C

    self.remoteConfig = [FIRRemoteConfig remoteConfig];
    FIRRemoteConfigSettings *remoteConfigSettings = [[FIRRemoteConfigSettings alloc] init];
    remoteConfigSettings.minimumFetchInterval = 0;
    self.remoteConfig.configSettings = remoteConfigSettings;

Bu nesne, uygulama içi varsayılan parametre değerlerini depolamak, Remote Config arka ucundan güncellenmiş parametre değerlerini almak ve getirilen değerlerin uygulamanız tarafından 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 bkz .

2. 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 istendiği gibi davranır ve böylece arka uçta hiçbiri ayarlanmazsa varsayılan değerler kullanılabilir.

  1. Bir NSDictionary nesnesi veya bir plist dosyası kullanarak bir dizi parametre adı ve varsayılan parametre değeri tanımlayın.

    Remote Config arka uç parametre değerlerini zaten yapılandırdıysanız, tüm varsayılan değerleri içeren oluşturulmuş bir plist dosyasını indirebilir ve onu Xcode projenize kaydedebilirsiniz.

    DİNLENMEK

    curl --compressed -D headers -H "Authorization: Bearer token -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig:downloadDefaults?format=PLIST -o RemoteConfigDefaults.plist
    

    Firebase konsolu

    1. Parametreler sekmesinde Menüsünü açın ve Varsayılan değerleri indir öğesini seçin.

    2. İstendiğinde iOS için .plist'i etkinleştirin, ardından Dosyayı indir'i tıklayın.

  2. setDefaults: kullanarak bu değerleri Remote Config nesnesine ekleyin. Aşağıdaki örnek, bir plist dosyasından uygulama içi varsayılan değerleri ayarlar:

    Süratli

    remoteConfig.setDefaults(fromPlist: "RemoteConfigDefaults")

    Amaç-C

    [self.remoteConfig setDefaultsFromPlistFileName:@"RemoteConfigDefaults"];

3. Adım: Uygulamanızda kullanılacak parametre değerlerini alın

Artık Remote Config nesnesinden parametre değerleri alabilirsiniz. Daha sonra Remote Config arka ucunda değerler ayarlar, 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ğerlerini alırsınız. Bu değerleri almak için parametre anahtarını bağımsız değişken olarak sağlayarak configValueForKey: yöntemini çağırın.

Adım 4: Parametre değerlerini ayarlayın

Firebase konsolunu veya Remote Config arka uç API'lerini kullanarak, istediğiniz koşullu mantığa veya kullanıcı hedeflemenize göre uygulama içi değerleri geçersiz kılan yeni arka uç varsayılan değerleri oluşturabilirsiniz. Bu bölüm, bu değerleri oluşturmak için Firebase konsolu adımlarında size yol gösterir.

  1. Firebase konsolunda projenizi açın.
  2. Remote Config panosunu görüntülemek için menüden Remote Config'i seçin.
  3. Uygulamanızda tanımladığınız parametrelerle aynı ada sahip parametreleri tanımlayın. Her parametre için bir varsayılan değer ayarlayabilir (bu, sonunda uygulama içi varsayılan değeri geçersiz kılar) ve koşullu değerler de ayarlayabilirsiniz. Daha fazla bilgi edinmek için bkz. Uzak Yapılandırma Parametreleri ve Koşulları .

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

Remote Config'den parametre değerlerini almak için fetchWithCompletionHandler: veya fetchWithExpirationDuration:completionHandler: yöntemini çağırın. Arka uçta ayarladığınız tüm değerler alınır ve Remote Config nesnesinde önbelleğe alınır.

Değerleri tek bir çağrıda getirmek ve etkinleştirmek istediğiniz durumlar için fetchAndActivateWithCompletionHandler: kullanın.

Bu örnek, Remote Config arka ucundan (önbelleğe alınmış değerler değil) değerleri getirir ve bunları uygulamanın kullanımına sunmak için activateWithCompletionHandler: çağırır:

Süratli

remoteConfig.fetch { (status, error) -> Void in
  if status == .success {
    print("Config fetched!")
    self.remoteConfig.activate { changed, error in
      // ...
    }
  } else {
    print("Config not fetched")
    print("Error: \(error?.localizedDescription ?? "No error available.")")
  }
  self.displayWelcome()
}

Amaç-C

[self.remoteConfig fetchWithCompletionHandler:^(FIRRemoteConfigFetchStatus status, NSError *error) {
    if (status == FIRRemoteConfigFetchStatusSuccess) {
        NSLog(@"Config fetched!");
      [self.remoteConfig activateWithCompletion:^(BOOL changed, NSError * _Nullable error) {
        if (error != nil) {
          NSLog(@"Activate error: %@", error.localizedDescription);
        } else {
          dispatch_async(dispatch_get_main_queue(), ^{
            [self displayWelcome];
          });
        }
      }];
    } else {
        NSLog(@"Config not fetched");
        NSLog(@"Error %@", error.localizedDescription);
    }
}];

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ğlayan 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 stratejilerine bakın.

kısma

Bir uygulama kısa bir süre içinde çok fazla getirirse getirme çağrıları azaltılır ve SDK, FIRRemoteConfigFetchStatusThrottled değerini döndürür. SDK sürüm 6.3.0'dan önce sınır, 60 dakikalık bir pencerede 5 getirme isteğiydi (daha yeni sürümlerin daha izin verilen sınırları vardır).

Uygulama geliştirme sırasında, uygulamanızı geliştirirken ve test ederken hızla yineleme yapabilmeniz için önbelleği çok sık (saatte birçok kez) yenilemek isteyebilirsiniz. Çok sayıda geliştiriciye sahip bir projede hızlı yinelemeye uyum sağlamak için, uygulamanıza düşük minimum getirme aralığına ( MinimumFetchInterval ) sahip bir FIRRemoteConfigSettings özelliğini geçici olarak ekleyebilirsiniz.

The default and recommended production fetch interval for Remote Config is 12 hours, which means that configs won't be fetched from the backend more than once in a 12 hour window, regardless of how many fetch calls are actually made. Specifically, the minimum fetch interval is determined in this following order:

  1. The parameter in fetch(long)
  2. The parameter in FIRRemoteConfigSettings.MinimumFetchInterval
  3. The default value of 12 hours

Sonraki adımlar

If you haven't already, explore the Remote Config use cases , and take a look at some of the key concepts and advanced strategies documentation, including: