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 tümü firebase/quickstart-ios GitHub deposundan kopyalanabilen veya indirilebilen bazı örnek kodlar sağlar.

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

  1. Henüz yapmadıysanız Firebase'i Apple projenize ekleyin .

  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. Aşağıdaki örnekte gösterildiği gibi singleton 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, güncellenmiş parametre değerlerini Remote Config arka ucundan getirmek ve getirilen değerlerin ne zaman uygulamanız için 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ısalma bkz.

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

Uygulama içi varsayılan parametre değerlerini, uzaktan yapılandırma nesnesinde ayarlayabilirsiniz, böylece uygulamanız uzak yapılandırma arka ucuna bağlanmadan önce amaçlandığı gibi davranır ve hiçbiri arka uçta ayarlanmadıysa varsayılan değerler kullanılabilir.

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

    Zaten uzaktan yapılandırılmış arka uç parametre değerlerini yapılandırdıysanız, tüm varsayılan değerleri içeren oluşturulan bir plist dosyasını indirebilir ve 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 seçeneğini seçin.

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

  2. setDefaults: . 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"];

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

Artık uzaktan yapılandırma nesnesinden parametre değerleri alabilirsiniz. Daha sonra uzaktan yapılandırma arka uçta değerler ayarlarsanız, bunları getirir ve ardından etkinleştirirseniz, bu değerler uygulamanız için kullanılabilir. Aksi takdirde, setDefaults: . Bu değerleri elde etmek için, parametre anahtarını bir bağımsız değişken olarak sağlayarak configValueForKey: yöntemini çağırın.

4. Adım: Parametre Değerlerini Ayarla

Firebase konsolunu veya uzaktan yapılandırma arka uç API'lerini kullanarak, istediğiniz koşullu mantık veya kullanıcı hedeflemeye 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ından geçer.

  1. Firebase konsolunda projenizi açın.
  2. Uzaktan yapılandırma gösterge tablosunu görüntülemek için menüden uzaktan yapılandırmayı 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 (sonunda uygulama içi varsayılan değeri geçersiz kılacak) ve koşullu değerleri de ayarlayabilirsiniz. Daha fazla bilgi edinmek için uzaktan yapılandırma parametrelerine ve koşullarına bakın.

Adım 5: Değerleri Alın ve Etkinleştirin

Uzaktan yapılandırmadan parametre değerlerini almak için fetchWithCompletionHandler: veya fetchWithExpirationDuration:completionHandler: Methole adresini çağırın. Arka uçta ayarladığınız değerler, uzaktan yapılandırma nesnesine getirilir ve önbelleklenir.

Bir çağrıda değerleri almak ve etkinleştirmek istediğiniz durumlar için, fetchAndActivateWithCompletionHandler: .

Bu örnek, uzaktan yapılandırma backend'den (önbelleğe alınmış değerler değil) değerleri alır ve activateWithCompletionHandler: bunları uygulamaya sunmak için:

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üncellenmiş parametre değerleri, uygulamanızın davranışını ve görünümünü etkilediğinden, kullanıcınız için bir dahaki sefere açıldığı gibi kullanıcınız için sorunsuz bir deneyim sağlayan bir seferde getirilen değerleri etkinleştirmelisiniz. Daha fazla bilgi ve örnek için uzaktan yapılandırma yükleme stratejilerine bakın.

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

Parametre değerlerini getirdikten sonra, uzaktan yapılandırma sırtından güncellemeleri dinlemek için gerçek zamanlı uzaktan yapılandırmayı kullanabilirsiniz. Güncellemeler kullanılabilir olduğunda bağlı cihazlara gerçek zamanlı uzaktan yapılandırma sinyalleri ve yeni bir uzak yapılandırma sürümü yayınladıktan sonra değişiklikleri otomatik olarak getirir.

Gerçek zamanlı güncellemeler, V10.7.0+ ve daha yüksek Apple platformları için Firebase SDK tarafından desteklenir.

  1. Uygulamanızda, güncellemeleri dinlemeye başlamak ve yeni veya güncellenmiş parametre değerlerini otomatik olarak almak için addOnConfigUpdateListener arayın. Aşağıdaki örnek güncellemeler için dinlenir ve activateWithCompletionHandler çağrıldığında, güncellenmiş bir hoş geldiniz mesajını görüntülemek için yeni getirilen değerleri kullanır.

    Süratli

    remoteConfig.addOnConfigUpdateListener { configUpdate, error in
      guard let configUpdate, error == nil else {
        print("Error listening for config updates: \(error)")
      }
    
      print("Updated keys: \(configUpdate.updatedKeys)")
    
      self.remoteConfig.activate { changed, error in
        guard error == nil else { return self.displayError(error) }
        DispatchQueue.main.async {
          self.displayWelcome()
        }
      }
    }
    

    Amaç-C

    __weak __typeof__(self) weakSelf = self;
    [self.remoteConfig addOnConfigUpdateListener:^(FIRRemoteConfigUpdate * _Nonnull configUpdate, NSError * _Nullable error) {
      if (error != nil) {
        NSLog(@"Error listening for config updates %@", error.localizedDescription);
      } else {
        NSLog(@"Updated keys: %@", configUpdate.updatedKeys);
    
        __typeof__(self) strongSelf = weakSelf;
        [strongSelf.remoteConfig activateWithCompletion:^(BOOL changed, NSError * _Nullable error) {
          if (error != nil) {
            NSLog(@"Activate error %@", error.localizedDescription);
          }
    
          dispatch_async(dispatch_get_main_queue(), ^{
            [strongSelf displayWelcome];
          });
        }];
      }
    }];
    
  2. Bir dahaki sefere uzak yapılandırmanızın yeni bir sürümünü yayınladığınızda, uygulamanızı çalıştıran ve değişiklik dinleyen cihazlar tamamlama işleyicisini çağırır.

Kısma

Bir uygulama kısa bir süre içinde çok fazla kez getirilirse, çağrıları getirir ve SDK FIRRemoteConfigFetchStatusThrottled döndürür. SDK sürüm 6.3.0'dan önce, sınır 60 dakikalık bir pencerede 5 getirme isteği idi (daha yeni sürümler daha izin veren sınırlara sahiptir).

Uygulama geliştirme sırasında, uygulamanızı geliştirip test ederken hızla yinelemenize izin vermek için önbelleği çok sık (saatte birçok kez) yenilemek için daha sık almak isteyebilirsiniz. Gerçek zamanlı uzaktan yapılandırma, yapılandırma sunucuda güncellendiğinde önbelleği otomatik olarak atlar. Çok sayıda geliştiriciye sahip bir projede hızlı yinelemeyi karşılamak için, uygulamanızda düşük minimum getirme aralığına ( MinimumFetchInterval ) sahip bir FIRRemoteConfigSettings özelliği ekleyebilirsiniz.

Uzaktan yapılandırma için varsayılan ve önerilen üretim getirme aralığı 12 saattir, bu da gerçekte kaç tane getirme çağrısına bakılmaksızın, yapılandırmaların arka uçtan 12 saatlik bir pencerede bir kereden fazla getirilmeyeceği anlamına gelir. Özellikle, minimum getirme aralığı bu sırayla belirlenir:

  1. fetch(long) parametresi
  2. FIRRemoteConfigSettings.MinimumFetchInterval parametre
  3. Varsayılan 12 saatlik değer

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: