Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Zacznij korzystać ze zdalnej konfiguracji Firebase

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.


Możesz użyć Firebase Remote Config do definiowania parametrów w swojej aplikacji i aktualizowania ich wartości w chmurze, co pozwala modyfikować wygląd i zachowanie aplikacji bez dystrybucji aktualizacji aplikacji. Ten przewodnik przeprowadzi Cię przez kroki, aby rozpocząć, i zawiera przykładowy kod, który można sklonować lub pobrać z repozytorium GitHub firebase/quickstart-ios .

Krok 1: Dodaj Zdalną konfigurację do swojej aplikacji

  1. Zainstaluj Firebase SDK dla platform 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 Ograniczanie , aby uzyskać więcej informacji.

Krok 2: 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 Twoja aplikacja zachowywała się zgodnie z oczekiwaniami, zanim połączy się z zapleczem Zdalnej konfiguracji, i aby wartości domyślne były dostępne, jeśli żadne nie zostaną ustawione w zapleczu.

  1. Zdefiniuj zestaw nazw parametrów i domyślne wartości parametrów za pomocą obiektu NSDictionary lub pliku plist .

    Jeśli masz już skonfigurowane wartości parametrów zaplecza Remote Config, możesz pobrać wygenerowany plik plist zawierający wszystkie wartości domyślne i zapisać 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
    

    Konsola Firebase

    1. W zakładce Parametry otwórz menu i wybierz Pobierz wartości domyślne .

    2. Po wyświetleniu monitu włącz .plist dla iOS , a następnie kliknij Pobierz plik .

  2. Dodaj te wartości do obiektu Remote Config za pomocą setDefaults: . Poniższy przykład ustawia wartości domyślne w aplikacji z pliku plist:

    Szybki

    remoteConfig.setDefaults(fromPlist: "RemoteConfigDefaults")

    Cel C

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

Krok 3: Pobierz wartości parametrów do wykorzystania w aplikacji

Teraz możesz uzyskać wartości parametrów z obiektu Remote Config. Jeśli później ustawisz wartości w zapleczu Remote Config, 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.

Krok 4: Ustaw wartości parametrów

Za pomocą konsoli Firebase lub interfejsów API zaplecza Remote Config możesz utworzyć nowe domyślne wartości zaplecza, które zastępują wartości w aplikacji zgodnie z wymaganą logiką warunkową lub kierowaniem na użytkownika. Ta sekcja zawiera instrukcje dotyczące tworzenia tych wartości w konsoli Firebase.

  1. W konsoli Firebase otwórz swój projekt.
  2. Wybierz opcję Zdalna konfiguracja z menu, aby wyświetlić pulpit nawigacyjny Zdalnej konfiguracji.
  3. Zdefiniuj parametry o takich samych nazwach jak parametry zdefiniowane w 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 .

Krok 5: Pobierz i aktywuj wartości

Aby pobrać wartości parametrów z Remote Config, wywołaj fetchWithCompletionHandler: lub fetchWithExpirationDuration:completionHandler: Wszelkie wartości ustawione na zapleczu są pobierane i zapisywane w pamięci podręcznej w obiekcie Zdalna konfiguracja.

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 zaplecza Remote Config (nie wartości z pamięci podręcznej) i wywołuje funkcję activeWithCompletionHandler activateWithCompletionHandler: w celu udostępnienia ich 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) {
        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);
    }
}];

Ponieważ te zaktualizowane wartości parametrów wpływają na zachowanie i wygląd Twojej aplikacji, należy aktywować pobrane wartości w czasie, który zapewni użytkownikowi bezproblemowe działanie, 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.

Ograniczanie

Jeśli aplikacja jest pobierana zbyt wiele razy w krótkim czasie, wywołania pobierania są ograniczane, a zestaw SDK zwraca FIRRemoteConfigFetchStatusThrottled . Przed SDK w wersji 6.3.0 limit wynosił 5 żądań pobierania 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 opracowywania i testowania aplikacji. To accommodate rapid iteration on a project with numerous developers, you can temporarily add a FIRRemoteConfigSettings property with a low minimum fetch interval ( MinimumFetchInterval ) in your app.

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: