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
Zainstaluj Firebase SDK dla platform Apple.
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.
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.ODPOCZYNEK
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
W zakładce Parametry otwórz menu i wybierz Pobierz wartości domyślne .
Po wyświetleniu monitu włącz .plist dla iOS , a następnie kliknij Pobierz plik .
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.
- W konsoli Firebase otwórz swój projekt.
- Wybierz opcję Zdalna konfiguracja z menu, aby wyświetlić pulpit nawigacyjny Zdalnej konfiguracji.
- 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, pobrane wartości należy aktywować 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:
- The parameter in
fetch(long)
- The parameter in
FIRRemoteConfigSettings.MinimumFetchInterval
- 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: