Control de versiones y plantillas de Remote Config

La plantilla de Remote Config es la configuración en el servicio de los parámetros y las condiciones en formato JSON que creaste para tu proyecto de Firebase. Puedes modificar y administrar la plantilla en Firebase console, que mostrará su contenido en formato gráfico en las pestañas Parámetros y Condiciones. Si estás usando la API de REST para modificar y administrar la configuración, deberás trabajar directamente con un archivo de plantilla, como en este remote-config.json de ejemplo:

{
  "parameters":[
    {
      "key":"welcome_message",
      "value_options":[
        {
          "value":"Welcome to this sample app"
        }
      ]
    },
    {
      "key":"welcome_message_caps",
      "value_options":[
        {
          "value":"false"
        }
      ]
    }
  ],
  "version":{
    "version_number": "42",
    "update_time":"2018-05-11T18:46:40Z",
    "update_user":{
      "name":"Jane Developer",
      "email":"jane@developer.org",
      "imageUrl":"http://image.google.com/path-to-profile-photo-for-jane"
    },
    "description":"Adding welcome messages",
    "origin":"CONSOLE",
    "update_type":"INCREMENTAL_UPDATE"
  }
}

Cada vez que actualizas los parámetros, Remote Config crea una versión nueva de la plantilla de Remote Config y almacena la anterior a fin de que puedas recuperarla o revertirla según sea necesario. Los números de versión aumentan de manera secuencial a partir del valor inicial que almacenó Remote Config. Todas las plantillas incluyen un campo version como el que se muestra, el cual contiene metadatos sobre la versión específica.

Puedes usar Firebase console o la API de REST para realizar las siguientes tareas de administración de versiones.

  • Crear una lista con todas las versiones de plantilla almacenadas
  • Recuperar una versión específica
  • Revertir a una versión específica

Cuando administres las plantillas de Remote Config, ten en cuenta los límites de vencimiento: 90 días desde que fueron creadas o un máximo de 300 versiones almacenadas. Si quieres almacenar o revertir a una plantilla que supere esos límites, guárdala y almacénala manualmente. La plantilla activa de Remote Config que usa tu app no vence; sin embargo, si ha estado activa durante más de 90 días desde su creación y se reemplaza con una actualización, no se podrá recuperar debido al límite de vencimiento.

Administra las versiones de plantilla de Remote Config con Firebase console

Firebase console ofrece una interfaz gráfica que permite crear listas con las versiones de las plantillas, consultar sus detalles y, si es necesario, revertirlas a una versión anterior. Para hacerlo, sigue estos pasos:

  1. En la pestaña Parámetros, haz clic en los tres puntos que están en la parte superior derecha y, luego, selecciona Ver historial de cambios. Esta acción abrirá la página Historial de cambios, donde encontrarás una lista de todas las versiones de la plantilla en un menú de lista a la derecha.

  2. En la configuración predeterminada, el panel de detalles muestra la plantilla activa en este momento. Para ver la información de una versión de la lista, elígela en el menú de la derecha.

  3. Cuando veas la información de una versión almacenada en el panel de detalles, verás un botón en la parte superior derecha de la página, que podrás usar para revertir la plantilla a esa versión. Haz clic en el botón y confirma la operación solo si estás seguro de querer realizarla y usar esos valores de inmediato en todos los usuarios y las apps.

Administra las versiones de la plantilla de Remote Config con la API de REST

En esta sección se describe cómo administrar las versiones de la plantilla de Remote Config con la API de REST. Para obtener más información sobre cómo crear, modificar y guardar plantillas de manera programática, consulta Usa la API de REST de Remote Config.

Crea una lista con todas las versiones almacenadas de la plantilla de Remote Config

Con el método HTTP personalizado :listVersions, puedes recuperar una lista de todas las versiones almacenadas de la plantilla de Remote Config. Por ejemplo:

curl --compressed -D headers -H "Authorization: Bearer token" -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id:listVersions

La respuesta incluye los metadatos de todas las versiones almacenadas, entre ellos la hora de actualización, el usuario que la realizó y si se hizo mediante la consola o la API de REST. Aquí encontrarás un ejemplo de un elemento de versión:

{
  "versions": [{
    "version_number": "6",
    "update_time": "2018-05-12T02:38:54Z",
    "update_user": {
      "email": "jane@developer.org",
    },
    "description": "One small change on the console",
    "origin": "CONSOLE",
    "update_type": "INCREMENTAL_UPDATE"
  }]

Recupera una versión específica de la plantilla de Remote Config

Si anexas el parámetro de URL ?version_number, puedes recuperar cualquier versión almacenada de la plantilla de Remote Config. Por ejemplo:

curl --compressed -D headers -H "Authorization: Bearer token" -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig?version_number=6

Este parámetro es válido solo para las operaciones GET. No puedes usarlo con el fin de especificar números de versión de actualizaciones. Una solicitud get similar sin el parámetro ?version_number recuperará la plantilla activa en este momento, como se describe en Obtén JSON desde el servicio de Remote Config.

Revierte a una versión almacenada de la plantilla de Remote Config

Para revertir a una plantilla almacenada de Remote Config, haz una solicitud HTTP POST con el método personalizado :rollback. Incluye en el cuerpo de la solicitud la versión específica a la que quieres revertir. Por ejemplo:

curl --compressed -D headers -H "Authorization: Bearer token" -X POST https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig:rollback -d '{"version_number": 6}'

La respuesta incluye el contenido de la plantilla almacenada que está activa y los metadatos de su versión nueva.

Ten en cuenta que revertir la plantilla crea efectivamente una versión numerada nueva. Por ejemplo, revertir de la versión 10 a la 6 crea una copia nueva de la versión 6, cuya única diferencia con la versión original es que su número de versión será 11. La versión 6 original seguirá almacenada (si no llegó al límite de vencimiento) y la versión 11 de la plantilla será la activa.

Enviar comentarios sobre...

Si necesitas ayuda, visita nuestra página de asistencia.