Firebase Remote Config'i kullanmaya başlayın


Uygulamanızda parametreleri tanımlamak için Firebase Remote Config kullanabilir ve değerlerini bulutta güncelleyerek görünümü ve uygulamanızın davranışını gösteren bir kontrol listesidir. Bu kılavuzda adımları uygulayın ve size birkaç örnek kod sağlayın. Bu kodun şuradan klonlayabilir veya indirilebilir: firebase/quickstart-ios GitHub deposu.

1. Adım: Remote Config uygulamasını uygulamanıza ekleyin

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

  2. Remote Config için Google Analytics gereklidir uygulama örneklerinin koşullu hedeflemesi kullanıcı özelliklerine ve kitlelere girebilir. Şunlardan emin olun: siz projenizde Google Analytics özelliğini etkinleştirin.

  3. Aşağıdaki örnekte gösterildiği gibi, singleton Remote Config nesnesini oluşturun:

    Swift

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

    Objective-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 için kullanılır, getirme güncellendi Remote Config arka ucundan parametre değerleri ve getirildiğinde kontrol değerleri, uygulamanız için kullanılabilir hale gelir.

Geliştirme sırasında, nispeten düşük bir minimum getirme değeri ayarlamanız önerilir. seçebilirsiniz. Kısıtlama bölümünü inceleyin konulu videomuzu izleyin.

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

Uygulama içi varsayılan parametre değerlerini Remote Config ile bağlantı kurmadan önce amaçlandığı gibi davranmasını sağlamak için Remote Config arka uç sağlar ve böylece hiçbir arka uç olmadığında varsayılan değerler kullanılabilir arka uçta ayarlanır.

  1. Parametre adlarını ve varsayılan parametre değerlerini tanımlamak için NSDictionary nesne veya bir plist dosyası.

    Hâlihazırda Remote Config arka uç parametre değerini yapılandırdıysanız tüm varsayılan değerleri ve verileri içeren, oluşturulmuş bir plist dosyasını Xcode projenize kaydedin.

    REST

    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 sekmesinden, Menü'yü açın ve Varsayılan değerleri indir'i seçin.

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

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

    Swift

    remoteConfig.setDefaults(fromPlist: "RemoteConfigDefaults")

    Objective-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ğerleri ayarlayın, bunları getirin ve ardından etkinleştirin uygulamanızda kullanılabiliyor. Aksi takdirde, uygulama içi parametreyi değerleri setDefaults: Bu değerleri almak için configValueForKey: yöntemini kullanarak parametre anahtarını bağımsız değişken olarak sağlar.

4. adım: Parametre değerlerini ayarlayın

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

  1. Firebase konsolunda projenizi açın.
  2. Remote Config öğesini görüntülemek için menüden Remote Config öğesini seçin. kontrol paneli
  3. Şu parametrede tanımladığınız parametrelerle aynı adlara sahip parametreleri tanımlayın: en iyi şekilde yararlanabilirsiniz. Her parametre için bir varsayılan değer ( uygulama içi varsayılan değeri geçersiz kılabilir) koşullu değerlerdir. Daha fazla bilgi edinmek için bkz. Remote Config Parametreler ve Koşullar

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

Remote Config öğesinden parametre değerlerini getirmek için şunu çağırın: fetchWithCompletionHandler: veya fetchWithExpirationDuration:completionHandler: yöntemidir. Arka uçta ayarladığınız tüm değerler getirilir ve Remote Config nesnesinde önbelleğe alındı.

Değerleri tek bir çağrıda getirmek ve etkinleştirmek istediğiniz durumlarda fetchAndActivateWithCompletionHandler:

Bu örnek, Remote Config arka ucundan (önbelleğe alınmamış) değerleri getirir değerleri) ve telefon aramalarınıactivateWithCompletionHandler: uygulama:

Swift

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()
}

Objective-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 davranışı ve görünümü etkilediği için getirmeyi seçerseniz, getirilen değerleri uygulamanın sağlandığından sorunsuz bir deneyim sunmasını sağlar (örneğin, kullanıcı uygulamasını indirin. Remote Config yükleme stratejilerine bakın daha fazla bilgi ve örnek bulabilirsiniz.

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

Parametre değerlerini getirdikten sonra gerçek zamanlı Remote Config işlevini kullanarak Remote Config arka ucundan gelen güncellemeleri dinleyin. Gerçek zamanlı Güncelleme olduğunda bağlı cihazlara Remote Config sinyal geliyor ve yeni bir Remote Config yayınlamanızın ardından değişiklikleri otomatik olarak getirir sürümünü değil.

Gerçek zamanlı güncellemeler, Apple sürümleri 10.7.0 ve üzeri sürümleri için Firebase SDK'sı tarafından desteklenir.

  1. Güncellemeleri dinlemeye başlamak için uygulamanızda addOnConfigUpdateListener numaralı telefonu arayın ve yeni veya güncellenen tüm parametre değerlerini otomatik olarak getirir. Aşağıdakiler örneğin, güncellemeleri ve activateWithCompletionHandler adlı kullanıcının ne zaman çağrılır, güncellenmiş karşılama mesajını görüntülemek için yeni getirilen değerleri kullanır.

    Swift

    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()
        }
      }
    }

    Objective-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. Bundan sonra Remote Config cihazınızın yeni bir sürümünü yayınladığınızda, cihazlar uygulamanızı çalıştıran ve değişiklikleri dinleyen bir kullanıcının çalışmasının tamamlanması, gösterir.

Kısıtlama

Bir uygulama kısa bir süre içinde çok fazla getirme yaparsa getirme aramaları Throttled ve SDK şunu döndürür: FIRRemoteConfigFetchStatusThrottled. SDK 6.3.0 sürümünden önce, sınır, 60 dakikada 5 getirme isteğiydi pencere (yeni sürümlerde daha geniş kapsamlı izin sınırları vardır).

Uygulama geliştirme sırasında önbelleği yenilemek için daha sık getirme yapmak isteyebilirsiniz geliştirdikçe, bunları hızla yinelemenizi sağlamak için çok sık (saatte birçok kez) ve uygulamanızı test edin. Gerçek zamanlı Remote Config güncellemeleri sunucu güncellendiğinde önbelleğe alınır. Hızlı iterasyona uyum sağlamak için birden fazla geliştiricinin bulunduğu bir projede geçici olarak bir Minimum getirme aralığına sahip FIRRemoteConfigSettings mülk (MinimumFetchInterval) inceleyebilirsiniz.

Remote Config için varsayılan ve önerilen üretim getirme aralığı 12 saat. Bu, yapılandırmaların 12 saat içinde arka uçtan bir kereden fazla alınmadığı anlamına gelir sayısını belirler. Daha ayrıntılı belirtmek gerekirse, minimum getirme aralığı şu sırayla belirlenir:

  1. fetch(long) hücresindeki parametre
  2. FIRRemoteConfigSettings.MinimumFetchInterval hücresindeki parametre
  3. Varsayılan değer olan 12 saat
ziyaret edin.

Sonraki adımlar

Henüz yapmadıysanız Remote Config hakkında bilgi edinin. kullanım alanlarına göz atın ve Aşağıdakileri içeren temel kavramlar ve gelişmiş stratejilerle ilgili belgeler: