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.
Biblioteka Zdalna konfiguracja 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. Aby dowiedzieć się więcej, zobacz Strategie ładowania zdalnej konfiguracji .
Ten przewodnik przeprowadzi Cię przez kroki niezbędne do rozpoczęcia pracy i zawiera przykładowy kod, który można sklonować lub pobrać z repozytorium GitHub firebase/quickstart-unity .
Dodaj zdalną konfigurację do swojej aplikacji
Zanim będziesz mógł korzystać ze Zdalnej konfiguracji , musisz:
Zarejestruj swój projekt Unity i skonfiguruj go do korzystania z Firebase.
Jeśli Twój projekt Unity korzysta już z Firebase, oznacza to, że jest już zarejestrowany i skonfigurowany dla Firebase.
Jeśli nie masz projektu Unity, możesz pobrać przykładową aplikację .
Dodaj zestaw SDK Firebase Unity (w szczególności
FirebaseRemoteConfig.unitypackage
) do swojego projektu Unity.
Pamiętaj, że dodanie Firebase do projektu Unity obejmuje zadania zarówno w konsoli Firebase , jak i w otwartym projekcie Unity (na przykład pobierasz pliki konfiguracyjne Firebase z konsoli, a następnie przenosisz je do swojego projektu Unity).
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.
Aby to zrobić, utwórz słownik ciągów i wypełnij go parami klucz/wartość reprezentującymi wartości domyślne, które chcesz dodać. Jeśli masz już skonfigurowane wartości parametrów zaplecza Zdalnej konfiguracji, możesz pobrać plik zawierający te pary klucz/wartość i użyć go do skonstruowania słownika ciągów. Aby uzyskać więcej informacji, zobacz Pobieranie domyślnych ustawień szablonu Zdalnej konfiguracji .
(Właściwości niebędące ciągami zostaną przekonwertowane na typ właściwości po SetDefaultsAsync()
).
System.Collections.Generic.Dictionary<string, object> defaults = new System.Collections.Generic.Dictionary<string, object>(); // These are the values that are used if we haven't fetched data from the // server // yet, or if we ask for values that the server doesn't have: defaults.Add("config_test_string", "default local string"); defaults.Add("config_test_int", 1); defaults.Add("config_test_float", 1.0); defaults.Add("config_test_bool", false); Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.SetDefaultsAsync(defaults) .ContinueWithOnMainThread(task => {
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 ustawisz wartości w zapleczu Zdalnej konfiguracji, pobrałeś 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 przy użyciu SetDefaultsAsync()
.
Aby uzyskać te wartości, użyj GetValue()
, podając klucz parametru jako argument. Zwraca to ConfigValue
, który ma właściwości umożliwiające przekonwertowanie wartości na różne typy podstawowe.
Połącz swoją aplikację w konsoli Firebase
W konsoli Firebase dodaj swoją aplikację do projektu Firebase.
Ustaw wartości parametrów
- W konsoli Firebase otwórz projekt.
- Wybierz z menu opcję Zdalna konfiguracja , aby wyświetlić pulpit Zdalnej konfiguracji.
- 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) i wartości warunkowe. Aby dowiedzieć się więcej, zobacz Parametry i warunki zdalnej konfiguracji .
Pobierz i aktywuj wartości (w razie potrzeby)
Aby pobrać wartości parametrów z zaplecza Zdalnej konfiguracji, wywołaj metodę FetchAsync()
. Wszelkie wartości ustawione w zapleczu są pobierane i buforowane w obiekcie Remote Config.
// Start a fetch request. // FetchAsync only fetches new data if the current data is older than the provided // timespan. Otherwise it assumes the data is "recent enough", and does nothing. // By default the timespan is 12 hours, and for production apps, this is a good // number. For this example though, it's set to a timespan of zero, so that // changes in the console will always show up immediately. public Task FetchDataAsync() { DebugLog("Fetching data..."); System.Threading.Tasks.Task fetchTask = Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.FetchAsync( TimeSpan.Zero); return fetchTask.ContinueWithOnMainThread(FetchComplete); }
Wartości pobrane za pośrednictwem FetchAsync()
są buforowane lokalnie po zakończeniu pobierania, ale nie są udostępniane do momentu wywołania ActivateFetched()
. Ponieważ FetchAsync()
wykonywana asynchronicznie, umożliwia to upewnienie się, że nowe wartości nie są stosowane w połowie obliczeń lub w innych sytuacjach, które mogą powodować problemy lub dziwne zachowanie.
(Opcjonalnie) Włącz tryb programisty
Aby włączyć tryb programisty, którego można użyć do wyłączenia ograniczania przepustowości podczas opracowywania, można użyć właściwości FirebaseRemoteConfig.Setting
, ustawiając nowy ConfigSettings
z IsDeveloperMode
ustawioną na true.
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: