Ir a la consola

Estrategias de carga de Firebase Remote Config

Firebase Remote Config proporciona mucha flexibilidad en relación con cómo y cuándo obtener valores nuevos del servidor y activarlos en tu app, lo que te permite garantizar una experiencia de calidad para el usuario final mediante el control del tiempo de cualquier cambio visible de la configuración. En esta guía, se analizan algunas estrategias de carga y consideraciones clave que te permitirán elegir la mejor opción para tu app.

Estrategia 1: Recuperar y activar en la carga

En esta estrategia, tu app llamará a fetchAndActivate() cuando esta se inicie por primera vez para obtener valores nuevos de Remote Config y activarlos en cuanto terminen de cargarse. Este enfoque simple funciona bien para los cambios de configuración que no generan modificaciones visuales considerables en tu IU. Sin embargo, debes evitarlo en cualquier situación en la que tu IU pueda cambiar notablemente mientras los usuarios están en pleno uso.

Estrategia 2: Activar detrás de la pantalla de carga

Como solución al posible problema de IU que se presenta en la estrategia 1, puedes usar una pantalla de carga. En lugar de iniciar tu app de inmediato, muestra una pantalla de carga y llama a fetchAndActivate en tu controlador de finalización. Justo después de eso, y usando de nuevo una devolución de llamada o una notificación, descarta la pantalla de carga y permite que el usuario comience a interactuar con tu app.

Si usas esta estrategia, te recomendamos que agregues un tiempo de espera a la pantalla de carga. El tiempo de espera de un minuto de Remote Config puede ser demasiado largo para una experiencia de calidad de inicio de app para los usuarios.

Estrategia 3: Cargar valores nuevos para el siguiente inicio

Una estrategia eficaz es cargar valores de configuración nuevos para que se activen en el siguiente inicio de tu app. En esta estrategia, la app activa los valores recuperados en el inicio antes de intentar recuperar otros nuevos, ya que se opera bajo el supuesto de que puede haber recuperado valores de configuración nuevos, pero aún no los ha activado. El orden de las operaciones para esta estrategia es el siguiente:

  1. Al inicio, llama inmediatamente a activateFetched(). Esto aplica cualquier valor que hayas descargado del servidor en una sesión anterior y es casi instantáneo.
  2. Mientras el usuario interactúa con tu app, inicia una llamada asíncrona para obtener valores nuevos.
  3. En el controlador de finalización para la llamada de recuperación, no hagas nada. Tu app mantendrá los valores descargados hasta que los actives la próxima vez que se inicie.

Con esta estrategia, el tiempo de espera del usuario se minimiza en gran medida. Sin embargo, el usuario debe ejecutar tu app por segunda vez para ver la configuración más reciente. Tendrás que equilibrar estas consideraciones en relación con la lógica de tu empresa y tu app.

Estrategias de carga no recomendadas

Como pudiste ver en la explicación anterior sobre las ventajas y desventajas de las cargas, hay un par de patrones de uso que debes evitar.

  • No actualices ni cambies aspectos de la IU mientras el usuario la está viendo o interactuando con ella, a menos que tengas una buena justificación comercial o de la app para hacerlo, como quitar opciones relacionadas con una promoción que acaba de finalizar.
  • No envíes cantidades masivas de solicitudes de recuperación simultáneas, ya que podrías provocar que el servidor regule tu app. Los riesgos de que esto ocurra son bajos en la mayoría de los casos de producción, pero puede ser un problema durante el desarrollo activo. Consulta la guía de regulación para iOS y Android.

Pasos siguientes

Estas tres estrategias básicas no son todas las formas de cargar valores de configuración. Según tus necesidades, podrías idear estrategias mucho más sofisticadas, como las actualizaciones en segundo plano basadas en funciones que se describen en Propaga actualizaciones en tiempo real.

Consulta la referencia de API de tu plataforma a fin de obtener más información sobre las llamadas específicas para recuperar y activar valores de configuración.