Check out what’s new from Firebase at Google I/O 2022. Learn more

Inizia con la configurazione remota di Firebase

È possibile utilizzare Firebase Configurazione remota per definire i parametri della tua app e aggiornare i propri valori in the cloud, che consente di modificare l'aspetto e il comportamento della vostra applicazione senza distribuire un aggiornamento 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.

Aggiungere Config remoto per la vostra applicazione

  1. Installare il Firebase SDK per le piattaforme Apple.

  2. Creare il singoletto oggetto Remote Config, come mostrato nel seguente esempio:

    Veloce

    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 utilizzato per memorizzare i valori dei parametri di default in-app, recuperare valori aggiornati dei parametri dal backend di configurazione remota e il controllo quando i valori recuperati sono messi a disposizione per la vostra applicazione.

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

i valori dei parametri di default impostati in-app

È possibile impostare i valori dei parametri di default in-app nell'oggetto Configurazione remota, in modo che i tuoi si comporta app come destinato prima che si collega al back-end Configurazione remota, e in modo che i valori di default sono disponibili se nessuno sono situati nel backend.

  1. Definire un insieme di nomi parametri ei valori di default dei parametri utilizzando un NSDictionary oggetto o un documento plist .

    Se è già stato configurato i valori dei parametri backend Config Remote, è possibile scaricare A generata plist file che include tutti i valori predefiniti e salvarlo al progetto Xcode.

    RIPOSO

    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
    

    console Firebase

    1. Nella Parametri scheda, aprire il Menu , selezionare Scarica valori predefiniti .

    2. Quando richiesto, abilitare .plist per iOS , quindi fare clic su Scarica file .

  2. Aggiungere questi valori per l'oggetto Configurazione remota utilizzando setDefaults: . L'esempio seguente imposta in-app valori predefiniti da un file plist:

    Veloce

    remoteConfig.setDefaults(fromPlist: "RemoteConfigDefaults")

    Obiettivo-C

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

Ottenere i valori dei parametri da utilizzare per le app

Ora è possibile ottenere i valori dei parametri dall'oggetto Configurazione remota. Se in seguito i valori impostato nel backend Configurazione remota, li prendere, e poi attivare, quei valori sono a disposizione per la vostra applicazione. 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.

Impostare 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 passi 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. Definire parametri con gli stessi nomi dei parametri che si è definito nella vostra app. Per ogni parametro, è possibile impostare un valore di default (che alla fine sostituire il valore predefinito in-app) e si può anche impostare i valori condizionali. Per ulteriori informazioni, consultare Remote Config parametri e condizioni .

Fetch e attivare i valori

Per recuperare i valori dei parametri da Configurazione remota, chiamare il fetchWithCompletionHandler: o fetchWithExpirationDuration:completionHandler: metodo. Eventuali valori impostati sul backend vengono recuperate e cache nell'oggetto Configurazione remota.

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:

Veloce

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 influenzano il comportamento e l'aspetto della vostra applicazione, è necessario attivare i valori recuperati in un momento che garantisce un'esperienza semplice per l'utente, come ad esempio la prossima volta che l'utente apre l'applicazione. Vedere le strategie di carico di configurazione remota per ulteriori informazioni ed esempi.

throttling

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

Durante lo sviluppo di app, si potrebbe desiderare di aggiornare la cache molto frequentemente (molte volte all'ora) per farvi rapidamente iterata come si sviluppa e testare la vostra applicazione. 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.

Il difetto e produzione raccomandata recuperare intervallo per Configurazione remota è 12 ore, il che significa che configurazioni non viene prelevato dalla backend più di una volta in una finestra di 12 ore, indipendentemente dal numero di chiamate recuperare effettivamente realizzati. Specificamente, il minimo Intervallo recupero è determinato in questa 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: