Comprende el uso de Remote Config en tiempo real


Remote Config en tiempo real te permite recibir claves y valores de parámetros actualizados apenas se publican en el servidor. Con esto, puedes actualizar rápidamente cualquier tipo de atributo de app controlado mediante un valor de parámetro de Remote Config. Con las actualizaciones de Remote Config en tiempo real, puedes hacer lo siguiente:

  • Reducir el riego lanzando funciones de forma incremental para los usuarios segmentados y realizar una reversión de emergencia si es necesario
  • Aumentar la participación de los usuarios personalizando rápidamente sus experiencias a medida que usan la app. Por ejemplo, puedes actualizar los banners y ofrecer incentivos a los usuarios que coincidan con propiedades específicas del usuario de Google Analytics o ajustar de forma dinámica la dificultad del juego para cohortes de jugadores
  • Reducir las dependencias de compilación y aumentar la productividad de los desarrolladores: Usa los parámetros de Remote Config como marcas de función para exponer la funcionalidad para tus equipos de prueba y desarrollo, y mantenla oculta para los usuarios en producción

Para obtener más información sobre cómo usar Remote Config, consulta ¿Qué puedes hacer con Remote Config?

En esta guía, harás lo siguiente:

  • Obtendrás más información sobre la relación cliente-servidor que admite actualizaciones en tiempo real.
  • Comprenderás cómo actúa la funcionalidad en tiempo real del SDK.
  • Aprenderás a usar actualizaciones en tiempo real para mantener actualizada la configuración de tu app.

La conexión cliente-servidor en tiempo real

Cuando implementas Remote Config en tiempo real en tu app, creas un objeto de escucha en tiempo real que abre una conexión HTTP al backend de Remote Config. La solicitud incluye la versión de configuración que está almacenada en la caché del dispositivo. El servidor de Remote Config en tiempo real usa un mensaje de invalidación para indicarle a la app cuándo se debe recuperar una versión más reciente de una configuración del servidor.

Si el servidor tiene una versión más reciente, envía la señal de invalidación de inmediato. Si no la tiene, mantiene la conexión abierta y espera hasta que se publique una en el servidor. Cuando el SDK cliente recibe una señal de invalidación, la recupera de forma automática y, luego, llama a la devolución de llamada del objeto de escucha que se registró cuando abriste la conexión del objeto de escucha. Esta recuperación es similar a la llamada de recuperación que puedes realizar con el SDK, pero evita cualquier parámetro de configuración de almacenamiento en caché o minimumFetchInterval. La conexión cliente-servidor se mantiene mientras la app se ejecuta en primer plano.

Flujo de trabajo de cliente-servidor de Remote Config en tiempo real

Dado que la conexión cliente-servidor se realiza a través de HTTP, no se requiere ninguna dependencia de otras bibliotecas.

Escucha actualizaciones

Las actualizaciones en tiempo real complementan las llamadas fetch de Remote Config. Te recomendamos que llames a la recuperación cuando se inicie la app (o en algún momento durante su ciclo de vida) y que escuches actualizaciones de Remote Config en tiempo real durante la sesión del usuario para asegurarte de que tengas los valores más recientes en cuanto se publiquen en el servidor.

Para escuchar actualizaciones, llama a addOnConfigUpdateListener, implementando una devolución de llamada que se invoque cuando haya una actualización de Remote Config disponible en la app. En segundo plano, esta llamada comienza a escuchar actualizaciones del servidor de Remote Config. Para obtener más información sobre la relación cliente-servidor, consulta la sección anterior.

A menudo, la devolución de llamada es una buena oportunidad para usar activate para hacer que los parámetros de configuración actualizados estén disponibles para la app. Consulta Estrategias de carga de Firebase Remote Config y descubre estrategias adicionales para activar valores de parámetros cuando uses Remote Config en tiempo real.

Activa los valores de los parámetros de manera selectiva

Cuando llamas a addOnConfigUpdateListener, puedes esperar por el cambio y hacer la activación.

. Se llama a la devolución de llamada onUpdate cuando se recupera automáticamente una versión nueva de la plantilla y cuando esa versión nueva tiene cambios para los valores de parámetros activados en la app.

Estas devoluciones de llamada se invocan con un parámetro configUpdate. configUpdate contiene updatedKeys, que es el conjunto de claves de parámetros modificados que iniciaron la actualización en tiempo real y que incluye lo siguiente:

  • Claves de parámetros agregadas o quitadas
  • Claves de parámetros cuyos valores cambiaron
  • Claves de parámetros cuyos metadatos cambiaron (por ejemplo, información de personalización de Remote Config)
  • Claves de parámetros cuyas fuentes de valor hayan cambiado (por ejemplo, un valor predeterminado de la app que se actualiza a un valor del servidor)

Si usas un objeto de escucha en tiempo real en una vista en particular de tu app, puedes verificar si los parámetros relevantes para esa vista cambiaron antes de activarlos.

En ocasiones, una recuperación (que se inicia cuando llamas al método fetch o a través de Remote Config en tiempo real) no genera una actualización para el cliente. En estos casos, no se llamará al método ni a la finalización onUpdate .

Agrega y quita objetos de escucha

addOnConfigUpdateListener es el punto de entrada principal de Remote Config en tiempo real. Si llamas a este objeto de escucha por primera vez en el ciclo de vida de tu app, se abrirá la conexión con el backend. Las llamadas posteriores reutilizan la misma conexión y multiplexan el mensaje de invalidación descrito en la conexión cliente-servidor en tiempo real.

La llamada muestra un “registro de objeto de escucha”, que tiene un método llamado remove.

Para dejar de escuchar, almacena la referencia al registro del objeto de escucha. Llama a remove para dejar de escuchar en este registro. Si es el único objeto de escucha registrado, la llamada a remove cierra la conexión en tiempo real con el servidor.

Aunque puedes dejar de escuchar actualizaciones de forma manual, a menudo no es necesario. Remote Config en tiempo real deja de escuchar actualizaciones automáticamente cuando la app pasa a segundo plano y se reinicia cuando esta se ejecuta en primer plano.

Próximos pasos

Consulta Comienza a usar Firebase Remote Config para configurar Remote Config y empezar a escuchar actualizaciones en tiempo real.