Zacznij korzystać ze zdalnej konfiguracji Firebase

+

Można użyć Firebase Remote Config zdefiniować parametry w aplikacji i aktualizować swoje wartości w chmurze, co pozwala na modyfikację wyglądu i zachowania aplikacji bez dystrybucją 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 Remote Config do swojej aplikacji

  1. Zainstalować Firebase SDK dla platformy Apple.

  2. Utwórz singleton Remote Config obiektu, 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 przedmiot jest używany do przechowywania wartości domyślne parametrów w aplikacji, przynieś aktualizowane wartości parametrów ze zdalnego Config backend i kontrolę podczas Wartości sprowadzone są udostępnione do swojej aplikacji.

W trakcie rozwoju, zaleca się ustawić stosunkowo niskie minimum sprowadzić przedział. Zobacz dławienia , aby uzyskać więcej informacji.

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

Można ustawić domyślne wartości parametrów w aplikacji do zdalnego obiektu Config, tak, że zachowuje się jak aplikacja przeznaczone zanim połączy się z Remote Config backend, i tak, że wartości domyślne są dostępne jeśli nie jest ustawiona w backend.

  1. Określenie zestawu nazw parametrów i domyślnych wartości parametrów przy użyciu NSDictionary obiektu lub pliku plist .

    Jeśli masz już skonfigurowane wartości parametrów backend Remote Config można pobrać wygenerowany plist pliku, który zawiera wszystkie wartości domyślne i zapisz go w swoim projekcie Xcode.

    RESZTA

    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 konsola

    1. W Parametry karcie otwórz Menu i wybierz domyślne wartości pobrania .

    2. Gdy pojawi się monit, włącz .plist dla iOS , a następnie kliknij przycisk Pobierz plik .

  2. Dodać te wartości do zdalnego obiektu Config przy użyciu setDefaults: . Poniższy przykład Ustawia wartości domyślne w aplikacjach z pliku plist:

    Szybki

    remoteConfig.setDefaults(fromPlist: "RemoteConfigDefaults")

    Cel C

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

Uzyskaj wartości parametrów do wykorzystania w aplikacji

Teraz można uzyskać wartości parametrów ze zdalnego obiektu Config. Jeśli później ustawić wartości w Remote Config backend, przynieś je, a następnie je aktywować, wartości te dostępne są do 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.

Zestaw 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. Ten rozdział poprowadzi Cię przez Firebase krokach konsoli do tworzenia tych wartości.

  1. W konsoli Firebase otwórz projekt.
  2. Wybierz Remote Config z menu, aby zobaczyć pulpit zdalnego Config.
  3. Zdefiniować parametry o tych samych nazwach jak parametry, które zostały zdefiniowane w aplikacji. Dla każdego parametru można ustawić wartość domyślną (który ostatecznie zastąpić domyślny w aplikacji), można także ustawić wartości warunkowych. Aby dowiedzieć się więcej, zobacz Remote Config parametrów i warunków .

Pobrać i aktywować wartości

Aby sprowadzić wartości parametrów z zdalnego Konfig, wywołać fetchWithCompletionHandler: lub fetchWithExpirationDuration:completionHandler: metodę. Wszelkie wartości, które ustawione na backend są pobierane i zapisywane w zdalnej obiektu 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ływa na zachowanie i wygląd aplikacji, należy aktywować pobranego wartości w czasie, który zapewnia płynne doświadczenie dla użytkownika, takie jak po raz kolejny, że użytkownik otwiera aplikację. 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 został 5 pobrać wnioski w oknie 60 minut (nowsze wersje mają bardziej liberalne limity).

Podczas opracowywania aplikacji, możesz chcieć, aby odświeżyć pamięć podręczną bardzo często (wiele razy na godzinę), aby pozwolić Ci szybko powtórzyć, jak rozwijać i testować swoją aplikację. 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.

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

Next steps

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: