Catch up on everthing we announced at this year's Firebase Summit. Learn more

Zacznij korzystać ze zdalnej konfiguracji Firebase

Za pomocą zdalnej konfiguracji Firebase możesz definiować parametry w swojej aplikacji i aktualizować ich wartości w chmurze, co pozwala modyfikować wygląd i zachowanie aplikacji bez rozpowszechniania aktualizacji aplikacji. Ten poradnik przeprowadzi Cię przez kolejne etapy zacząć i zapewnia pewne przykładowy kod, z których wszystkie są dostępne dla klonu lub pobrać z Firebase / QuickStart-ios GitHub repozytorium.

Dodaj zdalną konfigurację do swojej aplikacji

  1. Zainstalować Firebase SDK dla platformy Apple.

  2. Utwórz pojedynczy obiekt Remote Config, jak pokazano w poniższym przykładzie:

    Szybki

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

    Cel C

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

Ten obiekt służy do przechowywania domyślnych wartości parametrów w aplikacji, pobierania zaktualizowanych wartości parametrów z zaplecza Zdalnej konfiguracji i kontrolowania, kiedy pobrane wartości są udostępniane Twojej aplikacji.

Podczas programowania zaleca się ustawienie stosunkowo niskiego minimalnego interwału pobierania. Zobacz dławienia , aby uzyskać więcej informacji.

Ustaw domyślne wartości parametrów w aplikacji

Możesz ustawić domyślne wartości parametrów w aplikacji w obiekcie Zdalna konfiguracja, aby aplikacja zachowywała się zgodnie z przeznaczeniem, zanim nawiąże połączenie z zapleczem zdalnej konfiguracji, i aby wartości domyślne były dostępne, jeśli nie są ustawione w zapleczu.

  1. Określenie zestawu nazw parametrów i domyślnych wartości parametrów przy użyciu NSDictionary obiektu lub pliku plist .
  2. Dodać te wartości do zdalnego obiektu Config przy użyciu setDefaults: . Poniższy przykład ustawia domyślne wartości w aplikacji z pliku plist:

Szybki

remoteConfig.setDefaults(fromPlist: "RemoteConfigDefaults")

Cel C

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

Pobierz wartości parametrów do użycia w swojej aplikacji

Teraz możesz pobrać wartości parametrów z obiektu Remote Config. Jeśli później ustawisz wartości w zapleczu Zdalnej konfiguracji, pobierzesz je, a następnie aktywujesz, te wartości będą dostępne dla Twojej aplikacji. W przeciwnym razie, można uzyskać wartości parametrów w aplikacji skonfigurowane przy użyciu setDefaults: . Aby uzyskać te wartości, zadzwoń configValueForKey: metody, zapewniając Kluczowym parametrem jako argument.

Ustaw wartości parametrów

Korzystanie z konsoli Firebase lub do zdalnego API backend Config , można tworzyć nowe wartości domyślne backend, które zastępują wartości w aplikacji według żądanego logika lub użytkownik warunkowy kierowania. W tej sekcji przedstawiono kroki w konsoli Firebase umożliwiające tworzenie tych wartości.

  1. W konsoli Firebase otwórz projekt.
  2. Wybierz Remote Config z menu, aby zobaczyć pulpit zdalnego Config.
  3. Zdefiniuj parametry o takich samych nazwach, jak parametry zdefiniowane w Twojej aplikacji. Dla każdego parametru możesz ustawić wartość domyślną (która ostatecznie zastąpi domyślną wartość w aplikacji), a także możesz ustawić wartości warunkowe. Aby dowiedzieć się więcej, zobacz Remote Config parametrów i warunków .

Pobierz i aktywuj wartości

Aby sprowadzić wartości parametrów z zdalnego Konfig, wywołać fetchWithCompletionHandler: lub fetchWithExpirationDuration:completionHandler: metodę. Wszelkie wartości ustawione w zapleczu są pobierane i buforowane w obiekcie Remote Config.

W przypadkach, w których chcemy się pobrać i aktywować wartości w jednej rozmowy, użyj fetchAndActivateWithCompletionHandler: .

Ten przykład pobiera wartości z Remote Config backend (nie buforowane wartości) i wzywa activateWithCompletionHandler: aby udostępnić je do aplikacji:

Szybki

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

Cel C

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

Ponieważ te zaktualizowane wartości parametrów wpływają na zachowanie i wygląd aplikacji, należy aktywować pobrane wartości w czasie, który zapewnia płynne działanie użytkownika, na przykład przy następnym otwarciu aplikacji przez użytkownika. Zobacz Remote Config strategie ładowania Więcej informacji i przykładów.

dławienie

Jeśli aplikacja pobiera zbyt wiele razy w krótkim okresie czasu, sprowadzić rozmowy są dławione i powraca SDK FIRRemoteConfigFetchStatusThrottled . Przed SDK w wersji 6.3.0 limit wynosił 5 żądań pobrania w 60-minutowym oknie (nowsze wersje mają bardziej liberalne limity).

Podczas tworzenia aplikacji możesz chcieć bardzo często odświeżać pamięć podręczną (wiele razy na godzinę), aby umożliwić szybkie iteracje podczas tworzenia i testowania aplikacji. Aby pomieścić szybki iteracji nad projektem z wieloma deweloperami, można tymczasowo dodać FIRRemoteConfigSettings nieruchomości z niskim minimum sprowadzić przedział ( MinimumFetchInterval ) w swojej aplikacji.

Domyślny i zalecany interwał pobierania danych produkcyjnych dla Zdalnej konfiguracji to 12 godzin, co oznacza, że ​​konfiguracje nie będą pobierane z zaplecza więcej niż raz w 12-godzinnym oknie, niezależnie od liczby faktycznie wykonanych wywołań pobierania. W szczególności minimalny interwał pobierania jest określany w następującej kolejności:

  1. Parametr w fetch(long)
  2. Parametr w FIRRemoteConfigSettings.MinimumFetchInterval
  3. Domyślna wartość 12 godzin

Następne kroki

Jeśli nie masz już, odkrywania Remote Config przypadków użycia , i spojrzeć na niektóre z kluczowych pojęć i zaawansowanej dokumentacji strategii, w tym: