Comprender la configuración remota en tiempo real


Remote Config en tiempo real le permite recibir claves y valores de parámetros actualizados tan pronto como se publican en el servidor. Esto le permite actualizar rápidamente cualquier tipo de atributo de aplicación controlado mediante un valor de parámetro de Remote Config. Con las actualizaciones de Remote Config en tiempo real, puedes:

  • Reduzca el riesgo implementando funciones de forma incremental para usuarios específicos y realizando una reversión de emergencia si es necesario.
  • Aumente la participación de los usuarios personalizando rápidamente las experiencias de los usuarios mientras usan la aplicación. Por ejemplo, podría actualizar los banners y ofrecer incentivos para los usuarios que coincidan con propiedades de usuario específicas de Google Analytics o ajustar dinámicamente la dificultad del juego para cohortes de jugadores.
  • Reduzca las dependencias de compilación y aumente la productividad de los desarrolladores: utilice los parámetros de Remote Config como indicadores de características para exponer la funcionalidad para sus equipos de desarrollo y prueba, mientras la mantiene oculta para los usuarios en producción.

Para obtener más información sobre las formas en que puede utilizar Remote Config, consulte ¿Qué se puede hacer con Remote Config?

En esta guía, podrás:

  • Obtenga más información sobre la relación cliente-servidor que admite actualizaciones en tiempo real.
  • Comprenda cómo funciona la funcionalidad en tiempo real del SDK.
  • Aprenda a utilizar actualizaciones en tiempo real para mantener actualizada la configuración de su aplicación.

La conexión cliente-servidor en tiempo real

Cuando implementas Remote Config en tiempo real en tu aplicación, creas un detector 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á actualmente almacenada en caché en el dispositivo. El servidor de Remote Config en tiempo real utiliza un mensaje de invalidación para indicarle a la aplicación cuándo se debe recuperar una versión más nueva de una configuración del lado del servidor.

Si el servidor tiene una versión más nueva, envía la señal de invalidación inmediatamente. Si no tiene una versión más nueva, mantiene la conexión abierta y espera hasta que se publique una en el servidor. Cuando el SDK del cliente recibe una señal de invalidación, la recupera automáticamente y luego llama a la devolución de llamada del oyente registrada cuando abrió la conexión del oyente. Esta recuperación es similar a la llamada de recuperación que puede realizar con el SDK, pero omite cualquier configuración de almacenamiento en caché o minimumFetchInterval . La conexión cliente-servidor se mantiene mientras la aplicación está en primer plano.

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

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

Escuche las actualizaciones

Las actualizaciones en tiempo real complementan las llamadas fetch de Remote Config. Recomendamos llamar a fetch cuando se inicia su aplicación (o en algún momento durante el ciclo de vida de su aplicación) y escuchar las actualizaciones de Remote Config en tiempo real durante la sesión del usuario para asegurarse de tener los valores más recientes tan pronto como se publiquen en el servidor.

Para escuchar las actualizaciones, llame aaddOnConfigUpdateListener ,implementando una devolución de llamada que se invoca cada vez que hay una actualización de Remote Config disponible en la aplicación . Detrás de escena, esta llamada comienza a escuchar actualizaciones del servidor Remote Config. Para obtener más información sobre la relación cliente-servidor, consulte la sección anterior .

La devolución de llamada suele ser un buen lugar para usar activate para que los parámetros de configuración actualizados estén disponibles para su aplicación. Consulta Estrategias de carga de Firebase Remote Config para conocer estrategias adicionales para activar valores de parámetros cuando usas Remote Config en tiempo real.

Activar selectivamente los valores de los parámetros.

Cuando llamas aaddOnConfigUpdateListener ,puedes esperar el cambio y activarlo.

La devolución de llamada onUpdate se llama cuando se ha obtenido automáticamente una nueva versión de la plantilla y cuando esa nueva versión tiene cambios en los valores de los parámetros actualmente activados en la aplicación.

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

  • Claves de parámetros agregadas o eliminadas
  • Teclas de parámetros cuyos valores han cambiado
  • Claves de parámetros cuyos metadatos han cambiado (por ejemplo, información de personalización de Remote Config)
  • Claves de parámetros cuyo origen de valor ha cambiado (por ejemplo, un valor predeterminado en la aplicación que se actualiza a un valor del lado del servidor)

Si está utilizando un oyente en tiempo real en una vista particular dentro de su aplicación, puede verificar si los parámetros relevantes para esa vista han cambiado antes de activarla.

En ocasiones, una recuperación (ya sea iniciada cuando se llama al método fetch o mediante Remote Config en tiempo real) no genera una actualización para el cliente. En estos casos, no se llamará al métodoonUpdateni a la finalización.

Agregar y eliminar oyentes

addOnConfigUpdateListeneres el punto de entrada principal para Remote Config en tiempo real. Llamar a este oyente por primera vez en el ciclo de vida de su aplicación abre la conexión con el backend. Las llamadas posteriores reutilizan la misma conexión, multiplexando el mensaje de invalidación descrito en la conexión cliente-servidor en tiempo real .

La llamada devuelve un "registro de oyente", que tiene un método llamadoremove .

Para dejar de escuchar, almacene la referencia al registro del oyente. Llame remove para dejar de escuchar este registro. Si es el único oyente registrado, llamar a remove cierra la conexión en tiempo real con el servidor.

Aunque puede dejar de escuchar actualizaciones manualmente, a menudo no es necesario. Remote Config en tiempo real deja de escuchar actualizaciones automáticamente cuando la aplicación pasa a segundo plano y se reinicia cuando la aplicación pasa a primer plano.

Próximos pasos

Consulte Comenzar con Firebase Remote Config para configurar Remote Config y comenzar a escuchar actualizaciones en tiempo real .