欢迎参加我们将于 2022 年 10 月 18 日举办的 Firebase 峰会(线上线下同时进行),了解 Firebase 如何帮助您加快应用开发速度、满怀信心地发布应用,并在之后根据需要轻松地扩大应用规模。立即报名

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.

Krok 1: Dodaj zdalną konfigurację do swojej aplikacji

  1. Zainstaluj pakiet 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 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 .

    Jeśli masz już skonfigurowane wartości parametrów zaplecza Remote Config, możesz pobrać wygenerowany plik plist , który zawiera 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. Na karcie Parametry otwórz menu i wybierz opcję 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 domyślne wartości w aplikacji z pliku plist:

    Szybki

    remoteConfig.setDefaults(fromPlist: "RemoteConfigDefaults")

    Cel C

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

Krok 3: Uzyskaj 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.

Krok 4: 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 Zdalna konfiguracja z menu, 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 .

Krok 5: Pobierz i aktywuj wartości

Aby pobrać wartości parametrów ze Zdalnej konfiguracji, 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 zaplecza Zdalnej konfiguracji (nie buforowane wartości) i wywołuje activateWithCompletionHandler: aby udostępnić je 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 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 zestaw 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. 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

Następne kroki

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: