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. 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-ios verfügbar sind.

Fügen Sie Ihrer App Remote Config hinzu

  1. Installieren Sie das Firebase SDK 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 Ihrer App zur Verfügung gestellt werden.

Während der Entwicklung wird empfohlen, ein relativ niedriges Mindestabrufintervall festzulegen. Weitere Informationen finden Sie unter Drosselung .

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.

  1. Definieren Sie mithilfe eines NSDictionary -Objekts oder einer Plist-Datei eine Reihe von Parameternamen und Standardparameterwerten.

    Wenn Sie bereits Remote Config-Backend-Parameterwerte konfiguriert haben, können Sie eine generierte plist -Datei herunterladen, die alle Standardwerte enthält, und sie in Ihrem Xcode-Projekt speichern.

    SICH AUSRUHEN

    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
    

    Firebase-Konsole

    1. Öffnen Sie auf der Registerkarte Parameter das Menü und wählen Sie Standardwerte herunterladen aus .

    2. Wenn Sie dazu aufgefordert werden, aktivieren Sie .plist für iOS und klicken Sie dann auf Datei herunterladen .

  2. Fügen Sie diese Werte mit setDefaults: . Im folgenden Beispiel werden In-App-Standardwerte aus einer Plist-Datei festgelegt:

    Schnell

    remoteConfig.setDefaults(fromPlist: "RemoteConfigDefaults")

    Ziel c

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

Rufen Sie Parameterwerte zur Verwendung in Ihrer App ab

Jetzt können Sie Parameterwerte aus dem Remote Config-Objekt abrufen. Wenn Sie später 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 setDefaults: konfiguriert wurden. Rufen Sie zum Abrufen dieser Werte die Methode configValueForKey: auf und geben Sie den Parameter key als Argument an.

Parameterwerte einstellen

Mit der Firebase-Konsole oder den Remote Config-Back-End-APIs können Sie neue Back-End-Standardwerte erstellen, die die In-App-Werte entsprechend Ihrer gewünschten Bedingungslogik oder Benutzerausrichtung überschreiben. Dieser Abschnitt führt Sie durch die Schritte der Firebase-Konsole zum Erstellen dieser Werte.

  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 festlegen (der schließlich den In-App-Standardwert überschreibt) und Sie können auch bedingte Werte festlegen. Weitere Informationen finden Sie unter Remote-Konfigurationsparameter und -bedingungen .

Werte abrufen und aktivieren

Rufen Sie zum Abrufen von Parameterwerten aus Remote Config die Methode fetchWithCompletionHandler: oder fetchWithExpirationDuration:completionHandler: . Alle Werte, die Sie im Back-End festlegen, werden abgerufen und im Remote Config-Objekt zwischengespeichert.

Verwenden Sie für Fälle, in denen Sie Werte in einem Aufruf abrufen und aktivieren möchten, fetchAndActivateWithCompletionHandler: .

Dieses Beispiel ruft Werte aus dem Remote Config-Backend ab (keine zwischengespeicherten Werte) und ruft activateWithCompletionHandler: auf, um sie der 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 Erscheinungsbild Ihrer App auswirken, sollten Sie die abgerufenen Werte zu einem Zeitpunkt aktivieren, der eine reibungslose Erfahrung für Ihren Benutzer gewährleistet, z. B. wenn der Benutzer Ihre App das nächste Mal öffnet. Weitere Informationen und Beispiele finden Sie unter Strategien zum Laden von Remote-Konfigurationen .

Drosselung

Wenn eine App in kurzer Zeit zu oft abruft, werden Abrufaufrufe gedrosselt und das SDK gibt FIRRemoteConfigFetchStatusThrottled zurück. Vor der SDK-Version 6.3.0 lag das Limit bei 5 Abrufanforderungen in einem 60-Minuten-Fenster (neuere Versionen haben mehr Limits).

Während der App-Entwicklung möchten Sie den Cache möglicherweise sehr häufig (mehrmals pro Stunde) aktualisieren, damit Sie beim Entwickeln und Testen Ihrer App schnell iterieren können. Um eine schnelle Iteration eines Projekts mit zahlreichen Entwicklern zu ermöglichen, können Sie Ihrer App vorübergehend eine FIRRemoteConfigSettings Eigenschaft mit einem niedrigen Mindestabrufintervall ( MinimumFetchInterval ) hinzufügen.

Das standardmäßige und empfohlene Produktionsabrufintervall für Remote Config beträgt 12 Stunden, was bedeutet, dass Konfigurationen nicht mehr als einmal in einem 12-Stunden-Fenster 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 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: