Beginnen Sie mit Firebase Remote Config


Sie können Firebase Remote Config verwenden, um Parameter in Ihrer App zu definieren und ihre Werte in der Cloud zu aktualisieren, sodass Sie das Aussehen und Verhalten Ihrer App ändern können, ohne ein App-Update verteilen zu müssen.

Die Remote Config-Bibliothek wird verwendet, um In-App-Standardparameterwerte zu speichern, aktualisierte Parameterwerte aus dem Remote Config-Back-End abzurufen und zu steuern, wann abgerufene Werte Ihrer App zur Verfügung gestellt werden. Weitere Informationen finden Sie unter Strategien zum Laden von Remote-Konfigurationen .

Dieser Leitfaden führt Sie durch die Schritte für den Einstieg und enthält einige Beispielcodes, die alle zum Klonen oder Herunterladen aus dem GitHub-Repository firebase/quickstart-unity verfügbar sind.

Fügen Sie Ihrer App Remote Config hinzu

Bevor Sie Remote Config verwenden können, müssen Sie Folgendes tun:

  • Registrieren Sie Ihr Unity-Projekt und konfigurieren Sie es für die Verwendung von Firebase.

    • Wenn Ihr Unity-Projekt Firebase bereits verwendet, ist es bereits für Firebase registriert und konfiguriert.

    • Wenn Sie kein Unity-Projekt haben, können Sie eine Beispiel-App herunterladen.

  • Fügen Sie das Firebase Unity SDK (insbesondere FirebaseRemoteConfig.unitypackage ) zu Ihrem Unity-Projekt hinzu.

Beachten Sie, dass das Hinzufügen von Firebase zu Ihrem Unity-Projekt Aufgaben sowohl in der Firebase-Konsole als auch in Ihrem geöffneten Unity-Projekt umfasst (Sie laden beispielsweise Firebase-Konfigurationsdateien von der Konsole herunter und verschieben sie dann in Ihr Unity-Projekt).

Legen Sie In-App-Standardparameterwerte fest

Sie können In-App-Standardparameterwerte im Remote Config-Objekt festlegen, sodass sich Ihre App wie beabsichtigt verhält, bevor sie eine Verbindung zum Remote Config-Back-End herstellt, und damit Standardwerte verfügbar sind, wenn keine im Back-End festgelegt sind.

Erstellen Sie dazu ein Zeichenfolgenwörterbuch und füllen Sie es mit Schlüssel/Wert-Paaren, die die Standardwerte darstellen, die Sie hinzufügen möchten. Wenn Sie bereits Remote Config-Back-End-Parameterwerte konfiguriert haben, können Sie eine Datei herunterladen, die diese Schlüssel/Wert-Paare enthält, und sie zum Erstellen Ihres Zeichenfolgenwörterbuchs verwenden. Weitere Informationen finden Sie unter Standardeinstellungen für Remote Config-Vorlagen herunterladen .

(Nicht-String-Eigenschaften werden in den Typ der Eigenschaft konvertiert, wenn SetDefaultsAsync() aufgerufen wird).

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 => {

Rufen Sie Parameterwerte zur Verwendung in Ihrer App ab

Jetzt können Sie Parameterwerte aus dem Remote Config-Objekt abrufen. Wenn Sie Werte im Remote Config-Back-End festlegen, abrufen und dann aktivieren, stehen diese Werte Ihrer App zur Verfügung. Andernfalls erhalten Sie die In-App-Parameterwerte, die mit SetDefaultsAsync() konfiguriert wurden.

Um diese Werte abzurufen, verwenden GetValue() und geben den Parameterschlüssel als Argument an. Dies gibt einen ConfigValue zurück, der über Eigenschaften zum Konvertieren des Werts in verschiedene Basistypen verfügt.

Verbinden Sie Ihre App in der Firebase-Konsole

Fügen Sie in der Firebase-Konsole Ihre App zu Ihrem Firebase-Projekt hinzu.

Parameterwerte einstellen

  1. Öffnen Sie in der Firebase-Konsole Ihr Projekt.
  2. Wählen Sie Remote Config aus dem Menü aus, um das Remote Config-Dashboard anzuzeigen.
  3. Definieren Sie Parameter mit denselben Namen wie die Parameter, die Sie in Ihrer App definiert haben. Für jeden Parameter können Sie einen Standardwert (der schließlich den In-App-Standardwert überschreibt) und bedingte Werte festlegen. Weitere Informationen finden Sie unter Remote Config-Parameter und -Bedingungen .

Werte abrufen und aktivieren (nach Bedarf)

Um Parameterwerte aus dem Remote Config-Back-End abzurufen, rufen Sie die FetchAsync() Methode auf. Alle Werte, die Sie im Back-End festlegen, werden abgerufen und im Remote Config-Objekt zwischengespeichert.

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

Über FetchAsync() abgerufene Werte werden lokal zwischengespeichert, wenn der Abruf abgeschlossen ist, aber nicht verfügbar gemacht, bis ActivateFetched() aufgerufen wird. Da FetchAsync() asynchron ausgeführt wird, können Sie sicherstellen, dass die neuen Werte nicht mitten in der Berechnung oder zu anderen Zeiten angewendet werden, die Probleme oder ungewöhnliches Verhalten verursachen könnten.

(Optional) Aktivieren Sie den Entwicklermodus

Um den Entwicklermodus zu aktivieren, der zum Deaktivieren der Drosselung während der Entwicklung verwendet werden kann, können Sie die FirebaseRemoteConfig.Setting -Eigenschaft verwenden und ein neues ConfigSettings , wobei IsDeveloperMode auf „true“ gesetzt ist.

Nächste Schritte

Wenn Sie dies noch nicht getan haben, erkunden Sie die Anwendungsfälle von Remote Config und werfen Sie einen Blick auf einige der Dokumentationen zu Schlüsselkonzepten und erweiterten Strategien, darunter: