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

Inizia con Firebase Remote Config

Puoi utilizzare Firebase Remote Config per definire i parametri nella tua app e aggiornarne i valori nel cloud, consentendoti di modificare l'aspetto e il comportamento della tua app senza distribuire un aggiornamento dell'app. Questa guida ti guida attraverso i passi per iniziare e fornisce alcuni esempi di codice, ognuno dei quali è disponibile per clonare o il download dal Firebase / quickstart-ios repository GitHub.

Aggiungi Remote Config alla tua app

  1. Installare il Firebase SDK per le piattaforme Apple.

  2. Creare l'oggetto Singleton Remote Config, come mostrato nell'esempio seguente:

    Swift

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

    Obiettivo-C

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

Questo oggetto viene usato per archiviare i valori dei parametri predefiniti in-app, recuperare i valori dei parametri aggiornati dal back-end di Remote Config e controllare quando i valori recuperati sono resi disponibili per la tua app.

Durante lo sviluppo, si consiglia di impostare un intervallo di recupero minimo relativamente basso. Vedere Throttling per ulteriori informazioni.

Imposta i valori dei parametri predefiniti in-app

È possibile impostare i valori dei parametri predefiniti in-app nell'oggetto Remote Config, in modo che l'app si comporti come previsto prima di connettersi al back-end di Remote Config e in modo che i valori predefiniti siano disponibili se non ne sono impostati nel back-end.

  1. Definire un insieme di nomi parametri ei valori di default dei parametri utilizzando un NSDictionary oggetto o un documento plist .
  2. Aggiungere questi valori per l'oggetto Configurazione remota utilizzando setDefaults: . L'esempio seguente imposta i valori predefiniti in-app da un file plist:

Swift

remoteConfig.setDefaults(fromPlist: "RemoteConfigDefaults")

Obiettivo-C

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

Ottieni i valori dei parametri da utilizzare nella tua app

Ora puoi ottenere i valori dei parametri dall'oggetto Remote Config. Se in seguito imposti i valori nel backend di Remote Config, li prendi e poi li attivi, quei valori saranno disponibili per la tua app. In caso contrario, si ottengono i valori dei parametri in-app configurate utilizzando setDefaults: . Per ottenere questi valori, chiamare il configValueForKey: metodo, che fornisce il tasto del parametro come argomento.

Imposta i valori dei parametri

Utilizzando la console Firebase o le API di back-end di configurazione remoto , è possibile creare nuovi valori backend di default che sostituiscono i valori in-app in base alle proprie logica condizionale desiderato o targeting degli utenti. Questa sezione ti guida attraverso i passaggi della console Firebase per creare questi valori.

  1. Nella console Firebase , aprire il progetto.
  2. Selezionare Configurazione remota dal menu per visualizzare il cruscotto Configurazione remota.
  3. Definisci i parametri con gli stessi nomi dei parametri che hai definito nella tua app. Per ogni parametro, puoi impostare un valore predefinito (che alla fine sovrascriverà il valore predefinito in-app) e puoi anche impostare valori condizionali. Per ulteriori informazioni, consultare Remote Config parametri e condizioni .

Recupera e attiva i valori

Per recuperare i valori dei parametri da Configurazione remota, chiamare il fetchWithCompletionHandler: o fetchWithExpirationDuration:completionHandler: metodo. Tutti i valori impostati sul back-end vengono recuperati e memorizzati nella cache nell'oggetto Remote Config.

Per i casi in cui si desidera recuperare e attivare i valori in una chiamata, utilizzare fetchAndActivateWithCompletionHandler: .

Questo esempio recupera i valori dal backend di configurazione remoto (non i valori memorizzati nella cache) e chiama activateWithCompletionHandler: per renderli disponibili per l'applicazione:

Swift

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

Obiettivo-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];
}];

Poiché questi valori dei parametri aggiornati influiscono sul comportamento e sull'aspetto della tua app, dovresti attivare i valori recuperati in un momento che garantisca un'esperienza fluida per il tuo utente, ad esempio la prossima volta che l'utente apre la tua app. Vedere le strategie di carico di configurazione remota per ulteriori informazioni ed esempi.

Limitazione

Se un'applicazione recupera troppe volte in un breve periodo di tempo, prendere le chiamate vengono strozzato ed i rendimenti SDK FIRRemoteConfigFetchStatusThrottled . Prima della versione 6.3.0 dell'SDK, il limite era di 5 richieste di recupero in una finestra di 60 minuti (le versioni più recenti hanno limiti più permissivi).

Durante lo sviluppo dell'app, potresti voler aggiornare la cache molto frequentemente (più volte all'ora) per consentirti di eseguire rapidamente l'iterazione durante lo sviluppo e il test dell'app. Per ospitare iterazione rapida su un progetto con numerosi sviluppatori, è possibile aggiungere una temporanea FIRRemoteConfigSettings proprietà con un minimo di bassa prendere intervallo ( MinimumFetchInterval ) nella vostra applicazione.

L'intervallo di recupero della produzione predefinito e consigliato per Remote Config è di 12 ore, il che significa che le configurazioni non verranno recuperate dal back-end più di una volta in una finestra di 12 ore, indipendentemente dal numero di chiamate di recupero effettivamente effettuate. In particolare, l'intervallo di recupero minimo è determinato nel seguente ordine:

  1. Il parametro a fetch(long)
  2. Il parametro in FIRRemoteConfigSettings.MinimumFetchInterval
  3. Il valore predefinito di 12 ore

Prossimi passi

Se non l'hai già, esplorare le Configurazione remota casi d'uso , e dare un'occhiata ad alcuni dei concetti chiave e avanzati documentazione strategie, tra cui: