Catch up on everthing we announced at this year's Firebase Summit. Learn more

Erste Schritte 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 zu verteilen. Dieser Leitfaden führt Sie durch die einzelnen Schritte , um loszulegen und bietet einige Beispiel - Code, die alle zu klonen oder Download von der zur Verfügung Firebase / quickstart-ios GitHub - Repository.

Füge Remote Config zu deiner App hinzu

  1. Installieren Sie das SDK Firebase für Apple - Plattformen.

  2. Erstellen Sie das Singleton Remote Config-Objekt, wie im folgenden Beispiel gezeigt:

    Schnell

    remoteConfig = RemoteConfig.remoteConfig()
    let settings = RemoteConfigSettings()
    settings.minimumFetchInterval = 0
    remoteConfig.configSettings = settings

    Ziel c

    self.remoteConfig = [FIRRemoteConfig remoteConfig];
    FIRRemoteConfigSettings *remoteConfigSettings = [[FIRRemoteConfigSettings alloc] init];
    remoteConfigSettings.minimumFetchInterval = 0;
    self.remoteConfig.configSettings = remoteConfigSettings;

Dieses Objekt wird verwendet, um In-App-Standardparameterwerte zu speichern, aktualisierte Parameterwerte aus dem Remote Config-Back-End abzurufen und zu steuern, wann abgerufene Werte für Ihre App verfügbar gemacht werden.

Während der Entwicklung wird empfohlen, ein relativ niedriges Mindestabrufintervall festzulegen. Siehe Throttling für weitere Informationen.

In-App-Standardparameterwerte festlegen

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

  1. Definieren Sie einen Satz von Parameternamen und Standard - Parameterwerte unter Verwendung eines NSDictionary Objekt oder eine plist - Datei .
  2. Fügen Sie diese Werte an die Remote - Objekt Config setDefaults: . Im folgenden Beispiel werden In-App-Standardwerte aus einer Plist-Datei festgelegt:

Schnell

remoteConfig.setDefaults(fromPlist: "RemoteConfigDefaults")

Ziel c

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

Abrufen von Parameterwerten zur Verwendung in Ihrer App

Jetzt können Sie Parameterwerte aus dem Remote Config-Objekt abrufen. Wenn Sie später im Remote Config-Back-End Werte festlegen, diese abrufen und dann aktivieren, stehen diese Werte für Ihre App zur Verfügung. Andernfalls erhalten Sie die Parameterwerte in-app konfiguriert mit setDefaults: . Um diese Werte zu erhalten, rufen Sie die configValueForKey: Methode, um den Parameter Schlüssel als Argument bereitgestellt wird .

Parameterwerte einstellen

Mit Hilfe der Konsole Firebase oder die Remote - Back - End - Config - APIs können Sie neuen Back - End - Standardwert erstellen , die überschreiben die In-App - Werte nach Ihrer gewünschten Bedingungslogik oder Benutzer - Targeting. In diesem Abschnitt werden Sie durch die Schritte der Firebase-Konsole zum Erstellen dieser Werte geführt.

  1. In der Firebase Konsole , öffnen Sie Ihr Projekt.
  2. Wählen Sie Remote Config aus dem Menü die 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 festlegen (der schließlich den Standardwert in der App überschreibt) und Sie können auch bedingte Werte festlegen. Um mehr zu erfahren, siehe Remote - Config - Parameter und Bedingungen .

Werte abrufen und aktivieren

Um Parameterwerte von Remote - Config zu holen, rufen Sie die fetchWithCompletionHandler: oder fetchWithExpirationDuration:completionHandler: Methode. Alle Werte, die Sie im Back-End festlegen, werden abgerufen und im Remote Config-Objekt zwischengespeichert.

Für Fälle , in denen Sie holen wollen und aktivieren Werte in einem Aufruf, verwenden fetchAndActivateWithCompletionHandler: .

Dieses Beispiel holt Werte aus dem Remote - Config - Backend (nicht Werte zwischengespeichert) und ruft activateWithCompletionHandler: um sie in den App zur Verfügung zu stellen:

Schnell

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()
}

Ziel c

[self.remoteConfig fetchWithCompletionHandler:^(FIRRemoteConfigFetchStatus status, NSError *error) {
    if (status == FIRRemoteConfigFetchStatusSuccess) {
        NSLog(@"Config fetched!");
      [self.remoteConfig activateWithCompletion:^(BOOL changed, NSError * _Nullable error) {
        // ...
      }];
    } else {
        NSLog(@"Config not fetched");
        NSLog(@"Error %@", error.localizedDescription);
    }
    [self displayWelcome];
}];

Da sich diese aktualisierten Parameterwerte auf das Verhalten und die Darstellung Ihrer App auswirken, sollten Sie die abgerufenen Werte zu einem Zeitpunkt aktivieren, der eine reibungslose Erfahrung für Ihren Benutzer gewährleistet, z. B. beim nächsten Öffnen der App durch den Benutzer. Siehe Remote - Config Ladestrategien für weitere Informationen und Beispiele.

Drosselung

Wenn eine App zu oft in einer kurzen Zeitperiode holt, holen Anrufe gedrosselt werden und die SDK kehrt FIRRemoteConfigFetchStatusThrottled . Vor SDK-Version 6.3.0 lag das Limit bei 5 Abrufanforderungen in einem 60-Minuten-Fenster (neuere Versionen haben mehr zulässige Limits).

Während der App-Entwicklung möchten Sie den Cache möglicherweise sehr häufig (viele Male pro Stunde) aktualisieren, damit Sie beim Entwickeln und Testen Ihrer App schnell iterieren können. Zur Aufnahme von schnellen Iteration an einem Projekt mit zahlreichen Entwicklern, können Sie vorübergehend eine hinzufügen FIRRemoteConfigSettings Eigenschaft mit einem niedrigen Mindestabrufintervall ( MinimumFetchInterval ) in Ihrer Anwendung.

Das standardmäßige und empfohlene Produktionsabrufintervall für Remote Config beträgt 12 Stunden, was bedeutet, dass Konfigurationen innerhalb eines 12-Stunden-Fensters nicht mehr als einmal vom Back-End abgerufen werden, unabhängig davon, wie viele Abrufaufrufe tatsächlich getätigt werden. Insbesondere wird das minimale Abrufintervall in der folgenden Reihenfolge bestimmt:

  1. Der Parameter in fetch(long)
  2. Der Parameter in FIRRemoteConfigSettings.MinimumFetchInterval
  3. Der Standardwert von 12 Stunden

Nächste Schritte

Wenn Sie nicht bereits haben, erkunden Sie die Remote - Config Use Cases , und werfen Sie einen Blick auf einige der wichtigsten Konzepte und fortgeschrittene Strategien Dokumentation, einschließlich: