Pierwsze kroki ze Zdalnej konfiguracji Firebase


Za pomocą Zdalnej konfiguracji Firebase możesz definiować parametry w swojej aplikacji oraz ich wartości w chmurze, co pozwala na modyfikowanie wyglądu zachowanie aplikacji bez jej rozpowszechniania.

Biblioteka Zdalnej konfiguracji służy do przechowywania domyślnych wartości parametrów w aplikacji, pobierz zaktualizowane wartości parametrów z backendu Zdalnej konfiguracji i skonfiguruj gdy pobrane wartości są udostępniane aplikacji. Aby dowiedzieć się więcej, zobacz Strategie wczytywania Zdalnej konfiguracji.

Z tego przewodnika dowiesz się, Google Analytics i udostępniamy w nich przykładowy kod, dostępnych do sklonowania lub pobrania z firebase/quickstart-unity z repozytorium GitHub.

Krok 1. Dodaj Zdalną konfigurację do swojej aplikacji

Zanim będzie można użyć Zdalna konfiguracja, musisz:

  • Zarejestruj projekt Unity i skonfiguruj go pod kątem korzystania z Firebase.

    • Jeśli Twój projekt w Unity korzysta już z Firebase, zarejestrowane i skonfigurowane w Firebase.

    • Jeśli nie masz projektu Unity, możesz pobrać przykładowej aplikacji.

  • Dodaj pakiet SDK Firebase Unity (a konkretnie FirebaseRemoteConfig.unitypackage) do swojego projektu w Unity.

.

Pamiętaj, że dodanie Firebase do projektu Unity wymaga wykonania zadań zarówno w w konsoli Firebase i w otwartym projekcie Unity. (np. pobierasz z konsoli pliki konfiguracyjne Firebase, do swojego projektu Unity).

Krok 2. Ustaw domyślne wartości parametrów w aplikacji

Wartości domyślne parametrów w aplikacji możesz ustawić w Zdalnej konfiguracji. dzięki czemu aplikacja działa zgodnie z oczekiwaniami jeszcze przed nawiązaniem połączenia backend Zdalnej konfiguracji, dzięki czemu dostępne są wartości domyślne, jeśli nie są ustawionym w backendzie.

Aby to zrobić, utwórz słownik w postaci ciągu znaków i wypełnij go parami klucz-wartość. reprezentujących wartości domyślne, które chcesz dodać. Jeśli masz już skonfigurowane aplikacje wartości parametrów backendu Zdalnej konfiguracji, możesz pobrać plik zawiera te pary klucz-wartość i użyj ich do utworzenia słownika ciągu znaków. Więcej informacji: Pobierz Domyślne ustawienia szablonu Zdalnej konfiguracji.

(Właściwości niebędące ciągami zostaną konwertowane na typ właściwości po wywołaniu funkcji 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 => {

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

Teraz możesz pobierać wartości parametrów z obiektu Zdalnej konfiguracji. Jeśli ustawisz w backendzie Zdalnej konfiguracji, pobrał je i aktywował, te wartości są dostępne dla aplikacji. W przeciwnym razie otrzymasz parametr in-app wartości skonfigurowane za pomocą SetDefaultsAsync().

Aby uzyskać te wartości, użyj funkcji GetValue(), podając klucz parametru jako argument. Powoduje to zwrócenie ConfigValue, który ma właściwości do konwertowania wartości na różne typy bazowe.

Krok 4. Ustaw wartości parametrów

  1. W konsoli Firebase otwórz projekt.
  2. Aby wyświetlić panel Zdalnej konfiguracji, wybierz z menu Zdalna konfiguracja.
  3. Zdefiniuj parametry o takich samych nazwach jak parametry zdefiniowane w sekcji do aplikacji. Dla każdego parametru możesz ustawić wartość domyślną (która będzie zastąpią domyślną wartość w aplikacji) i wartości warunkowe. Więcej informacji: Parametry i warunki Zdalnej konfiguracji.

Krok 5. Pobierz i aktywuj wartości (w razie potrzeby)

Aby pobrać wartości parametrów z backendu Zdalnej konfiguracji, wywołaj funkcję FetchAsync() . Wszystkie wartości ustawione w backendzie są pobierane i w pamięci podręcznej obiektu Zdalnej konfiguracji.

// 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);
}

W powyższym kodzie FetchComplete jest metodą, której podpis pasuje do metody jednego z parametrów przeciążenia z ContinueWithOnMainThread().

W przykładowym kodzie poniżej metoda FetchComplete jest przekazywana w poprzednim zadaniu (fetchTask), dzięki czemu FetchComplete może sprawdzić, czy proces został ukończony. W kodzie Info.LastFetchStatus aby potem ustalić, czy teraz zakończył się powodzeniem. Jeśli tak, Wartości parametrów Zdalnej konfiguracji są następnie aktywowane za pomocą ActivateAsync().

private void FetchComplete(Task fetchTask) {
  if (!fetchTask.IsCompleted) {
    Debug.LogError("Retrieval hasn't finished.");
    return;
  }

  var remoteConfig = FirebaseRemoteConfig.DefaultInstance;
  var info = remoteConfig.Info;
  if(info.LastFetchStatus != LastFetchStatus.Success) {
    Debug.LogError($"{nameof(FetchComplete)} was unsuccessful\n{nameof(info.LastFetchStatus)}: {info.LastFetchStatus}");
    return;
  }

  // Fetch successful. Parameter values must be activated to use.
  remoteConfig.ActivateAsync()
    .ContinueWithOnMainThread(
      task => {
        Debug.Log($"Remote data loaded and ready for use. Last fetch time {info.FetchTime}.");
    });
}

Wartości pobrane za pomocą FetchAsync() są zapisywane lokalnie w pamięci podręcznej po zakończeniu pobierania, ale nie są udostępniane do ActivateAsync() . Dzięki temu nowe wartości nie będą stosowane. do połowy lub w innym czasie, który może powodować problemy lub zachowanie użytkownika.

Krok 6. Nasłuchuj aktualizacji w czasie rzeczywistym

Po pobraniu wartości parametrów możesz używać Zdalnej konfiguracji w czasie rzeczywistym, aby: nasłuchuj aktualizacji z backendu Zdalnej konfiguracji. Wydarzenia w czasie rzeczywistym Zdalna konfiguracja wysyła sygnały do połączonych urządzeń, gdy dostępne są aktualizacje. automatycznie pobiera zmiany po opublikowaniu nowej Zdalnej konfiguracji. wersji.

Aktualizacje w czasie rzeczywistym są obsługiwane przez pakiet SDK Firebase Unity w wersji 11.0.0 lub nowszej na Platformy Android i Apple.

  1. Dodaj w aplikacji OnConfigUpdateListener, aby zacząć nasłuchiwać aktualizacji oraz automatycznie pobierać nowe lub zaktualizowane wartości parametrów. Następnie utwórz ConfigUpdateListenerEventHandler, aby przetworzyć zdarzenia aktualizacji. Poniżej przykład nasłuchuje aktualizacji i używa nowo pobranych wartości do wyświetlenia zaktualizowana wiadomość powitalna.
// Invoke the listener.
void Start()
{
  Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.OnConfigUpdateListener
    += ConfigUpdateListenerEventHandler;
}

// Handle real-time Remote Config events.
void ConfigUpdateListenerEventHandler(
   object sender, Firebase.RemoteConfig.ConfigUpdateEventArgs args) {
  if (args.Error != Firebase.RemoteConfig.RemoteConfigError.None) {
    Debug.Log(String.Format("Error occurred while listening: {0}", args.Error));
    return;
  }

  Debug.Log("Updated keys: " + string.Join(", ", args.UpdatedKeys));
  // Activate all fetched values and then display a welcome message.
  remoteConfig.ActivateAsync().ContinueWithOnMainThread(
    task => {
        DisplayWelcomeMessage();
    });
}

// Stop the listener.
void OnDestroy() {
    Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.OnConfigUpdateListener
      -= ConfigUpdateListenerEventHandler;
}

Gdy następnym razem opublikujesz nową wersję Zdalnej konfiguracji, urządzenia, które gdy masz uruchomioną aplikację, a nasłuchiwanie zmian będzie wywoływać moduł obsługi uzupełniania.

Dalsze kroki

Zapoznaj się ze Zdalną konfiguracją, jeśli jeszcze jej nie znasz. przypadkach użycia i przyjrzyj się niektórym dokumentację kluczowych koncepcji i zaawansowanych strategii, w tym: