Saltar al contenido

Canales

¿Cómo Capgo elige un canal (precedencia)?

Cómo Capgo elige un canal (precedencia)

Cuando un dispositivo solicita a Capgo una actualización, el canal que se utilizará se decide en el siguiente orden (prioridad más alta primero):

  1. Mapeo de dispositivo forzado: Si el ID del dispositivo se fuerza explícitamente a un canal (consulte la lista de dispositivos forzados dentro de los ajustes de canal), ese canal siempre gana.
  2. Sobrescritura de Cloud (creada por setChannel() o acción de Webapp): Llamar a setChannel (o cambiar el canal de un dispositivo en la consola) escribe una sobrescritura persistente en la nube vinculada a ese ID de dispositivo. Esa sobrescritura se consulta después del mapeo forzado pero antes de cualquier valor por defecto. Reinstalar la aplicación no la elimina; eliminar la entrada de dispositivo sí. Cloud override (created by
  3. Capacitor configuración defaultChannel (compilación de prueba por defecto): Para compilaciones internas / beta / de prueba, puede establecer defaultChannel (clave de legado channel) en capacitor.config.* para que los dispositivos de prueba comiencen en un canal de pre-lanzamiento (por ejemplo, beta, pr-123). Si falta, el dispositivo proseguirá con el valor por defecto de la nube. Las compilaciones de producción suelen dejar esto sin establecer.
  4. Canal por defecto de la nube (estrategia principal para ~99% de los usuarios): El canal de producción principal a donde aterriza la mayoría de los usuarios reales. Cualquier nuevo dispositivo sin una fuerza, sin una sobrescritura, y sin una configuración defaultChannel usa este. Cambiarlo hace que se despliegue (o se retroceda) para todos en segundos—sin un nuevo binario.

¿Por qué el canal por defecto de la nube es la ruta principal:

  • Implementación instantánea o retroceso sin volver a compilar o volver a publicar binarios nativos.
  • Un lugar para gestionar el comportamiento de iOS, Android y Electron.
  • Más seguro: puedes confirmar que los paquetes existen y los ajustes están correctos antes de cambiar el valor por defecto.
  • Cambios auditables (los miembros del equipo pueden ver quién cambió qué en la interfaz de usuario / registros). Principio de diseño: Las capas por encima (fuerza / sobreescribir / configuración) son excepciones

(debug de un usuario, QA que cambia, configuración de compilación de prueba). El flujo normal de usuarios va a la configuración por defecto de la nube. Cambiar el canal por defecto de la nube afecta nuevos dispositivos normales que:

  • No están obligados
  • No tienen una sobrescritura de cloud configurada
  • No tienen una configuración de aplicación defaultChannel definido

Si un build de prueba se envía con defaultChannel: 'beta' y luego cambias el valor por defecto de cloud a production, los dispositivos que se iniciaron en beta por medio de la configuración se quedan ahí hasta que: (a) los sobreescribas con setChannel(), (b) los fuerces, o (c) elimines la entrada del dispositivo.

Los dispositivos se quedan en su canal actual a menos que:

  • Los fuerces a otro canal.
  • Llamar setChannel() (creando/reescribiendo la configuración de nube) o cambiarlo manualmente en la consola.
  • Eliminar / archivar el canal en el que se encuentran (luego caerán nuevamente a través de la precedencia nuevamente en la próxima verificación).

Si un canal está deshabilitado para una plataforma (consulte los botones de iOS / Android / Electron) y de lo contrario habría sido seleccionado, la selección lo omite y cae en la siguiente regla.

Nota: Establecer defaultChannel significa cambiarlo requiere un nuevo binario; utilícelo intencionalmente para pruebas/QA, no para el control de producción general.

capacitor.config.ts
// Example: a TestFlight or internal QA build defaults to the beta channel.
const config = {
plugins: {
Capgo: {
defaultChannel: 'beta', // Test build default. Omit in production so users attach to cloud default.
// legacy key: channel
},
},
};
export default config;

Si cambias más tarde el valor por defecto de la consola a production, los dispositivos que ya están en otro canal (a través de la configuración, la sobrescritura o la fuerza) NO se moverán automáticamente; solo los dispositivos nuevos (o aquellos cuya sobrescritura/fuerza elimines) los capturarán.


Primero, vamos a echar un vistazo a la página de canales. Puedes acceder a ella haciendo clic en tu aplicación y luego haciendo clic en la pestaña de canales.

lista de canales

Como puedes ver, existe un botón de signo más en la esquina inferior derecha. (1 en la imagen) Haciendo clic en él se abrirá un modal donde podrás crear un nuevo canal.

nuevo canal

Después de hacer clic en Add debería aparecer un nuevo canal en la lista.

después de crear el canal

A veces la configuración de un canal no es válida. En ese caso, obtendrás una gran advertencia y el Misconfigured columna dirá Yes por uno o más de los canales. Puedes aprender más sobre ello aquí

Eliminar un canal es directo. Solo haz clic en el icono de la papelera y confirma la eliminación. (2 en la imagen)

Al hacer clic en el nombre del canal se abrirá una ventana emergente donde podrá gestionar los ajustes del canal. (3 en la imagen)

Ajustes del canal

La página de ajustes del canal contiene todas las opciones de configuración para su canal. Vamos a pasar por cada ajuste.


Primero el Default channel botón de encendido. Cuando está habilitado, este canal se convierte en el predeterminado para nuevos dispositivos. Para obtener una explicación completa de cómo funcionan los canales predeterminados, incluida la configuración de valores predeterminados específicos de plataforma (uno para iOS, uno para Android y uno para Electron), consulte la sección Configuración del Canal Predeterminado Segundo el


ajuste. Este es relativamente simple. Si esto es falso, entonces los dispositivos IOS no estarán permitidos para descargar actualizaciones desde este canal. IOS Default Channel Configuration

Tercero es el Android configuración. Este es similar a IOS. Si esto es falso, entonces los dispositivos Android no podrán descargar actualizaciones de este canal.

Cuarto es el Electron configuración. Este es similar a IOS y Android. Si esto es falso, entonces las aplicaciones de Electron no podrán descargar actualizaciones de este canal.

Quinto es el Disable auto downgrade under native configuración. Si esto es verdadero, entonces será imposible descender de una versión nativa. Esto significa que si has subido una 1.2.0 versión a la tienda de aplicaciones o a la tienda Play y tratas de establecer la versión del canal a 1.1.0 entonces la actualización (descendiente) fallará.

Sexto es el Disable auto update. Esta configuración es bastante compleja, y puedes aprender más sobre ella aquí

En cuanto a Allow development build. Si esto es cierto, entonces los compilados de desarrollo permitirán descargar actualizaciones de este canal. Si no, cualquier solicitud de actualización que tenga el prod establecido en falso será rechazada. Esto es principalmente útil para fines de prueba.

Séptimo es el Allow Emulators. Si esto es falso, Capgo desaprobará cualquier solicitud de actualización que provenga de un emulador. Esto es principalmente útil para fines de prueba.

Octavo es el Allow devices to self associate. Si esto es cierto, entonces el setChannel método estará disponible. Si esto está establecido en falso y intentas llamar al setChannel Si utilizas este canal entonces la llamada fallará.

Si estás utilizando Canales para planificar la ruta de los canales y la implementación escalonada, conecta con Canales para los detalles de implementación en Canales, Canales para los detalles de implementación en Canales, Solución de Pruebas Beta para el flujo de trabajo del producto en Solución de Pruebas Beta, Solución de Enfoque de Versión para el flujo de trabajo del producto en Solución de Enfoque de Versión, y Capgo Prácticas de Entorno: Etapa con un ID de Aplicación Móvil para el contexto práctico en Capgo Prácticas de Entorno: Etapa con un ID de Aplicación Móvil.