Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. 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 przewodnik przeprowadzi Cię przez kroki, aby rozpocząć, i zawiera przykładowy kod, który można sklonować lub pobrać z repozytorium firebase/quickstart-ios GitHub.

Dodaj zdalną konfigurację do swojej aplikacji

  1. Zainstaluj pakiet SDK Firebase na iOS.

  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. Zdefiniuj zestaw nazw parametrów i domyślnych wartości parametrów za pomocą obiektu NSDictionary lub pliku plist .
  2. Dodaj te wartości do obiektu Remote Config za pomocą 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 otrzymasz wartości parametrów w aplikacji skonfigurowane za pomocą setDefaults: . Aby uzyskać te wartości, wywołaj metodę configValueForKey: podając klucz parametru jako argument.

Ustaw wartości parametrów

Korzystając z konsoli Firebase lub interfejsów API zaplecza Zdalnej konfiguracji , możesz tworzyć nowe domyślne wartości zaplecza, które zastępują wartości w aplikacji zgodnie z wybraną logiką warunkową lub kierowaniem na użytkownika. W tej sekcji przedstawiono kroki w konsoli Firebase umożliwiające tworzenie tych wartości.

  1. W konsoli Firebase otwórz projekt.
  2. Wybierz z menu opcję Zdalna konfiguracja, aby wyświetlić pulpit Zdalnej konfiguracji.
  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 Parametry i warunki zdalnej konfiguracji .

Pobierz i aktywuj wartości

Aby pobrać wartości parametrów ze Zdalnej fetchWithCompletionHandler: , wywołaj fetchWithCompletionHandler: lub fetchWithExpirationDuration:completionHandler: Wszelkie wartości ustawione w zapleczu są pobierane i buforowane w obiekcie Remote Config.

W przypadkach, w których chcesz pobrać i aktywować wartości w jednym wywołaniu, 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 strategie ładowania Zdalnej konfiguracji, aby uzyskać więcej informacji i przykładów.

dławienie

Jeśli aplikacja pobiera zbyt wiele razy w krótkim czasie, wywołania pobierania są ograniczane, a FIRRemoteConfigFetchStatusThrottled SDK zwraca 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 uwzględnić szybką iterację projektu z wieloma deweloperami, możesz tymczasowo dodać właściwość FIRRemoteConfigSettings z niskim minimalnym interwałem pobierania ( MinimumFetchInterval ) w 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 jeszcze tego nie zrobiłeś, zapoznaj się z przypadkami użycia Zdalnej konfiguracji i zapoznaj się z niektórymi kluczowymi koncepcjami i dokumentacją zaawansowanych strategii, w tym: