Entérate de todos los anuncios de Firebase Summit y descubre cómo Firebase puede ayudarte a acelerar el desarrollo de las apps y a ejecutarlas con confianza. Más información

Comience con Firebase Remote Config

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.


Puede usar Firebase Remote Config para definir parámetros en su aplicación y actualizar sus valores en la nube, lo que le permite modificar la apariencia y el comportamiento de su aplicación sin distribuir una actualización de la aplicación. Esta guía lo guía a través de los pasos para comenzar y proporciona un código de muestra, todo el cual está disponible para clonar o descargar desde el repositorio firebase/quickstart-ios GitHub.

Paso 1: Agrega Remote Config a tu aplicación

  1. Instale el SDK de Firebase para plataformas Apple.

  2. Cree el objeto Singleton Remote Config, como se muestra en el siguiente ejemplo:

    Rápido

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

    C objetivo

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

Este objeto se usa para almacenar valores de parámetros predeterminados en la aplicación, obtener valores de parámetros actualizados desde el backend de Remote Config y controlar cuándo los valores obtenidos están disponibles para su aplicación.

Durante el desarrollo, se recomienda establecer un intervalo de recuperación mínimo relativamente bajo. Consulte Limitación para obtener más información.

Paso 2: establecer valores de parámetros predeterminados en la aplicación

Puede establecer valores de parámetros predeterminados en la aplicación en el objeto de Remote Config, para que su aplicación se comporte según lo previsto antes de conectarse al backend de Remote Config, y para que los valores predeterminados estén disponibles si no se establece ninguno en el backend.

  1. Defina un conjunto de nombres de parámetros y valores de parámetros predeterminados mediante un objeto NSDictionary o un archivo plist .

    Si ya configuró los valores de los parámetros de back-end de Remote Config, puede descargar un archivo plist generado que incluye todos los valores predeterminados y guardarlo en su proyecto Xcode.

    DESCANSAR

    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
    

    consola base de fuego

    1. En la pestaña Parámetros , abra el menú y seleccione Descargar valores predeterminados .

    2. Cuando se le solicite, habilite .plist para iOS , luego haga clic en Descargar archivo .

  2. Agregue estos valores al objeto de configuración remota usando setDefaults: . El siguiente ejemplo establece valores predeterminados en la aplicación desde un archivo plist:

    Rápido

    remoteConfig.setDefaults(fromPlist: "RemoteConfigDefaults")

    C objetivo

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

Paso 3: obtenga valores de parámetros para usar en su aplicación

Ahora puede obtener valores de parámetros del objeto Remote Config. Si luego establece valores en el backend de Remote Config, los recupera y luego los activa, esos valores estarán disponibles para su aplicación. De lo contrario, obtendrá los valores de los parámetros de la aplicación configurados mediante setDefaults: . Para obtener estos valores, llame al método configValueForKey: proporcionando la clave del parámetro como argumento.

Paso 4: establecer los valores de los parámetros

Con Firebase console o las API de backend de Remote Config , puede crear nuevos valores predeterminados de backend que anulen los valores en la aplicación de acuerdo con la lógica condicional deseada o la orientación del usuario. Esta sección lo guía a través de los pasos de la consola Firebase para crear estos valores.

  1. En la consola de Firebase , abre tu proyecto.
  2. Seleccione Configuración remota en el menú para ver el panel de configuración remota.
  3. Defina parámetros con los mismos nombres que los parámetros que definió en su aplicación. Para cada parámetro, puede establecer un valor predeterminado (que eventualmente anulará el valor predeterminado en la aplicación) y también puede establecer valores condicionales. Para obtener más información, consulte Parámetros y condiciones de configuración remota .

Paso 5: Obtener y activar valores

Para obtener valores de parámetros de Remote Config, llama al fetchWithCompletionHandler: o fetchWithExpirationDuration:completionHandler: Todos los valores que establezca en el backend se recuperan y se almacenan en caché en el objeto de configuración remota.

Para los casos en los que desea obtener y activar valores en una sola llamada, use fetchAndActivateWithCompletionHandler: .

Este ejemplo obtiene valores del backend de Remote Config (no valores almacenados en caché) y llama a activateWithCompletionHandler: para que estén disponibles para la aplicación:

Rápido

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

C objetivo

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

Debido a que estos valores de parámetros actualizados afectan el comportamiento y la apariencia de su aplicación, debe activar los valores obtenidos en un momento que garantice una experiencia fluida para su usuario, como la próxima vez que el usuario abra su aplicación. Consulte Estrategias de carga de Remote Config para obtener más información y ejemplos.

estrangulamiento

Si una aplicación recupera demasiadas veces en un período de tiempo corto, las llamadas de recuperación se limitan y el SDK devuelve FIRRemoteConfigFetchStatusThrottled . Antes de la versión 6.3.0 del SDK, el límite era de 5 solicitudes de recuperación en un período de 60 minutos (las versiones más recientes tienen límites más permisivos).

Durante el desarrollo de la aplicación, es posible que desee actualizar la memoria caché con mucha frecuencia (muchas veces por hora) para permitirle iterar rápidamente a medida que desarrolla y prueba su aplicación. To accommodate rapid iteration on a project with numerous developers, you can temporarily add a FIRRemoteConfigSettings property with a low minimum fetch interval ( MinimumFetchInterval ) in your app.

The default and recommended production fetch interval for Remote Config is 12 hours, which means that configs won't be fetched from the backend more than once in a 12 hour window, regardless of how many fetch calls are actually made. Specifically, the minimum fetch interval is determined in this following order:

  1. The parameter in fetch(long)
  2. The parameter in FIRRemoteConfigSettings.MinimumFetchInterval
  3. The default value of 12 hours

Next steps

If you haven't already, explore the Remote Config use cases , and take a look at some of the key concepts and advanced strategies documentation, including: