Saltar al contenido

Canales

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 (la Dispositivos tab on the channel page), that channel always wins. Forced mappings are console/API overrides. Capgo removes them 90 days after the last override write. See Consola y API expiran.
  2. Sobreescribir de la nube (Panel de control o Público API): Al cambiar el canal de un dispositivo en el panel de control o a través del Público API, se escribe una sobrescripción vinculada a ese ID de dispositivo. Reinstalar la aplicación no la elimina; eliminar la sobrescripción sí. La misma retención de 90 días se aplica. Plugin (local)
  3. : En versiones actuales de plugins, setChannel() almacena el canal en el dispositivo después de la validación del backend. No es una sobrescripción del panel de control. Reinstalar la aplicación la elimina; la aplicación debe llamar de nuevo si todavía quiere ese canal.__CAPGO_KEEP_0__ config setChannel() (configuración de prueba por defecto) setChannel() : Para versiones internas / beta / de prueba, puedes establecer
  4. Capacitor config defaultChannel (local)__CAPGO_KEEP_0__ config defaultChannel (clave legado) channelin capacitor.config.* para que los dispositivos de prueba comiencen en un canal de pre-lanzamiento (por ejemplo, beta, pr-123. Si falta, el dispositivo procederá a la configuración por defecto de la nube. Los compilados de producción suelen dejar esto sin establecer.
  5. Canal por Defecto de la Nube (estrategia principal para ~99% de los usuarios): El canal de producción principal en el que aterriza la mayoría de los usuarios reales. Cualquier nuevo dispositivo sin una fuerza, sin una sobrescritura, sin una configuración local setChannel(), y sin una configuración defaultChannel usa esto. Cambiarlo despliega (o vuelve a desplegar) para todos en segundos, sin un nuevo binario.

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

  • Despliegue o rollback instantáneo sin tener que reconstruir o volver a publicar binarios nativos.
  • Un lugar para gestionar el comportamiento de iOS, Android y Electron.
  • Más seguro: puede confirmar que los paquetes existen y los ajustes están correctos antes de cambiar el valor por defecto.
  • Cambios auditables (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 (depurar usuario único, QA cambiar, 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 de la nube afecta nuevos dispositivos normales que:

  • No están obligados
  • No tienen ya una sobrescritura de la nube
  • No tenga una aplicación definida defaultChannel definido

Si un paquete de prueba se envía con defaultChannel: 'beta' y más tarde cambie el valor predeterminado de la nube a productiondispositivos que se iniciaron en beta a través de la configuración permanecen allí hasta que se aplique una asignación de mayor prioridad, o hasta que envíe un binario sin defaultChannel. Eliminar una fuerza, una sobrescritura de la nube o una asignación local no elimina el valor de la configuración; ese fallback permanece hasta el nuevo binario. setChannel() Los dispositivos permanecen en su canal actual a menos que:

Los fuerce a otro canal (consola o Public __CAPGO_KEEP_0__).

  • Cambie la sobrescritura de la nube en la consola o Public API.
  • Change the cloud override in the dashboard or Public API.
  • contexto: fragmento de texto HTML de una cadena de Capgo UI más larga (clave de página `appflow_migration_step2`). Página/área: Comparación y migración de Appflow / marketing de copia. Rol: Copia de sitio web. Visto en: página ionic-appflow.astro. Preservar términos de producto/marca y términos de desarrollador de Capgo exactamente. Clave de mensaje `appflow_migration_step2` (Paso 2 de la migración de Appflow). setChannel() (asignación local en versiones actuales del plugin).
  • 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).
  • Esperar hasta que una consola/API se vaya a expirar después de 90 días.
  • Reinstalar la aplicación, que elimina una asignación local pero no una consola/__CAPGO_KEEP_0__ de configuración. setChannel() assignment but not a console/API override.

Nota: Establecer

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

Ejemplo de configuración Capacitor

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

If más tarde cambies la configuración de la consola predeterminada 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 o fuerza elimines) los captará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.

Crear un canal

clicking on your app1 Haciendo clic en ella se abrirá un modal donde podrás crear un nuevo canal.

nuevo canal

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

después de crear 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í

Para eliminar un canal desde la aplicación web, abre la Canales contexto: nombre de característica de canales de Capgo. Página/área: página de marketing de soluciones de Capgo. Rol: etiqueta de IU corta o elemento de navegación. Visto en: página solutions/white-label.astro. Clave de mensaje `solutions_white_label_visual_cell2_value` (Valor de celda visual de soluciones White Label). pestaña para tu aplicación y encuentra la fila del canal. En la Acción columna, haz clic en el icono de la papelera, luego haz clic en Eliminar

en el diálogo de confirmación.

Fila de canal de acción de columna mostrando el icono de la papelera de eliminación channel.delete permission for that app. Ask an organization or app admin to grant a role that can delete channels, or delete the channel with an API key that has permission:

permiso para esa aplicación. Pide a un administrador de organización o aplicación que otorgue un rol que pueda eliminar canales, o elimina el canal con una clave __CAPGO_KEEP_0__ que tenga permiso:
npx @capgo/cli@latest channel delete <channel-name> <app-id>

Una clave organización- y aplicación-vinculada Vista de la aplicación Una clave de organización y aplicación puede eliminar de manera atómica solo el canal de previsualización no público y empaquetarlo creado con channel delete <preview-channel> <app-id> --delete-bundleNo puede cambiar o eliminar un canal existente predeterminado / principal, un canal de otra clave de previsualización o un paquete de otra clave. Consulte API Claves para la configuración de privilegios mínimo.

Haga clic en el nombre del canal para abrir la página del canal. Es una página completa con pestañas, no un diálogo.

Configuración del canal
  • Panel de controlAdopción del paquete actual y estadísticas de instalación para este canal.
  • Información: Channel settings listed below, plus progressive rollout and Test Update API.
  • Configuración del canal, incluyendo el despliegue progresivo y la actualización de prueba __CAPGO_KEEP_0__.: Forced mappings created from the console or Public API only. It does not list every device currently on the channel, and it does not list devices that used setChannel()Configuraciones de dispositivo forzadas creadas desde la consola o Public __CAPGO_KEEP_0__ solo. No muestra todos los dispositivos actualmente en el canal, y no muestra dispositivos que usaron Console and API overrides expire.
  • Configuraciones de la consola y __CAPGO_KEEP_0__ expiranHistorial
  • Configuraciones y cambios de paquete para este canal.: Vista previa en navegador y nativa del paquete vinculado. Habilita la vista previa del paquete en Información de la aplicación primero.

Quedarse en el página de información página. Los ajustes aparecen en este orden:

Primero, El canal de descarga predeterminado es una etiqueta de estado, no un interruptor. Activo significa que este canal es el predeterminado de la nube para dispositivos nuevos. Haga clic Administrar en ajustes de la aplicación para cambiar el predeterminado en Información de la aplicación. Para los predeterminados específicos de plataforma (uno para iOS, uno para Android y uno para Electron), consulte la misma sección.

Segundo el IOS configuración. Si esto es falso, entonces los dispositivos iOS no serán permitidos para descargar actualizaciones de este canal.

Tercero es el Android configuración. Si esto es falso, entonces los dispositivos Android no serán permitidos para descargar actualizaciones de este canal.

Cuarto es el Electron configuración. Si esto es falso, entonces las aplicaciones Electron no serán permitidas para descargar actualizaciones de este canal.

Quinto es el Disable auto downgrade under native Configuración. Si esto es verdadero, entonces será imposible descender a una versión nativa. Esto significa que si ha subido una versión a la tienda de aplicaciones o a la tienda de Google Play y trata de establecer la versión del canal a __CAPGO_KEEP_0__, la actualización (descarga) fallará. 1.2.0 Si subes una versión a la tienda de aplicaciones o a la tienda de Google Play y tratas de establecer la versión del canal a __CAPGO_KEEP_0__, la actualización (descarga) fallará. 1.1.0 Seis es la __CAPGO_KEEP_0__. Esta configuración es bastante compleja, y puede aprender más sobre ella en __CAPGO_KEEP_1__.

Para obtener más información, consulte __CAPGO_KEEP_1__. Disable auto updateSiete es la __CAPGO_KEEP_0__. Elige si los dispositivos descargarán un archivo zip completo, una delta de archivos modificados o ambos. Consulte __CAPGO_KEEP_2__. Paquete de actualización

Ocho es la __CAPGO_KEEP_0__. Si esto es verdadero, se permitirán actualizaciones de desarrollo desde este canal. Si no, cualquier solicitud de actualización con __CAPGO_KEEP_0__ establecido en falso será rechazada. Esto es principalmente útil para fines de prueba. Update package __CAPGO_KEEP_1__ __CAPGO_KEEP_2__.

__CAPGO_KEEP_0__ Allow development build__CAPGO_KEEP_0__ prod __CAPGO_KEEP_1__

Noveno es Allow production build. Si esto es falso, entonces las compilaciones de producción (almacenamiento) no recibirán actualizaciones de este canal. Deja esto encendido para los canales que sirven a usuarios reales.

Décimo es el Allow Emulators. Si esto es falso, entonces Capgo no permitirá ninguna solicitud de actualización que provenga de un emulador. Esto es principalmente útil para fines de prueba.

Décimo primero es Allow physical devices. Si esto es falso, entonces Capgo rechazará solicitudes de actualización de teléfonos y tabletas reales. Deja esto encendido para los canales de producción.

Décimo segundo es Allow devices to self dissociate/associate. Si esto es verdadero, entonces el setChannel método estará disponible. Si esto está configurado en falso y intentas llamar a setChannel con este canal, entonces la llamada fallará.

En la parte inferior de la Información expandir Actualización de prueba API. Capgo muestra un comando curl contra /updates para un dispositivo de muestra en este canal.

Los cambios pueden tardar hasta 60 segundos en aparecer en el API debido a la caché. Si el canal no se puede probar, el consola te advierte: el canal necesita al menos una plataforma (iOS o Android), compilaciones de producción, dispositivos físicos y, o bien, ser el canal de descarga predeterminado o permitir la asignación de dispositivos por parte del usuario.

Después de cambiar el paquete vinculado, el consola puede preguntar a Enviar notificación de actualizaciónQueuing una notificación silenciosa para que los dispositivos en el canal revisen el nuevo paquete ahora. Configure las credenciales de notificación de Android e iOS en la pestaña de Notificaciones de la aplicación primero.

Se eliminan las asignaciones forzadas y los reemplazos de canal público API en la consola 90 días después de la última escritura de reemplazo. La última conexión de dispositivo no reinicia ese reloj. Para una asignación que sobreviva a esa limpieza, establezca defaultChannel en su configuración de Capacitor (sobrevive a la reinstalación, necesita un nuevo binario para cambiar) o llame setChannel() desde la aplicación (evita la limpieza de 90 días, pero la reinstalación la elimina, por lo que la aplicación debe llamar setChannel() de nuevo).

La pestaña de dispositivos del canal Capgo mostrando el popover de retención de reemplazos: los reemplazos de la consola caducan después de 90 días
La retención de reemplazos en la pestaña de dispositivos del canal. El mismo aviso aparece cuando fuerza un ID de dispositivo al canal.

Esto es separado de retención de inventario de dispositivosInventario elimina dispositivos que no han conectado a Capgo durante 90 días. La limpieza de sobreescribir elimina la asignación incluso si el dispositivo sigue activo. Detalles completos: Console y API sobreescriben expiran después de 90 días.

Abrir un canal y permanecer en la pantalla de información. El paquete de actualización está en la lista de configuración, bajo Deshabilitar la actualización automática. El menú desplegable de paquete de actualización en un canal __CAPGO_KEEP_0__ mostrando Zip y delta, Zip solo, Delta solo, Zip solo desde builtin, y Delta solo desde builtin

Update package dropdown on a Capgo channel showing Zip and delta, Zip only, Delta only, Zip only from builtin, and Delta only from builtin
Actualice el paquete en la pestaña de información del canal. Los nuevos canales por defecto se establecen en Zip y delta.

Esta configuración elige qué Capgo envía cuando un dispositivo en este canal busca una actualización. Deje Zip y delta a menos que necesite forzar un tipo.

Etiqueta en la consolaCLI / API valor¿Qué dispositivos descargan?
Zip y deltaallUn zip completo y un delta cuando ambos existen. Este es el valor predeterminado.
Solo zipzipSolo el zip completo.
Solo deltadeltaSólo los archivos modificados. Los plugins que no pueden aplicar un delta aún reciben un zip.
Sólo zip desde builtinzip_from_builtinSólo zip mientras el dispositivo aún está en la versión binaria del store. Después del primer actualización en vivo, Capgo sirve zip y delta nuevamente.
Sólo delta desde builtindelta_from_builtinSólo delta mientras el dispositivo aún está en la versión binaria del store. Después del primer actualización en vivo, Capgo sirve zip y delta nuevamente.

builtin es las activos web embarcados dentro de la aplicación del App Store o Play Store, antes de cualquier Capgo actualización. Utilice un from builtin modo cuando la primera actualización desde la construcción del store debería ser zip-sólo o delta-sólo, y las actualizaciones posteriores pueden utilizar ambos.

Capgo no pairá un canal zip-sólo con un paquete delta-sólo, o viceversa. La consola, CLI, y Los canales API se niegan a guardar y le dicen que suba el paquete faltante o cambie el modo.

También puede establecer el mismo valor desde la CLI. El canal ya debe existir:

Ventana de terminal
npx @capgo/cli@latest channel set production com.example.app --update-package zip

Valores válidos: all, zip, delta, zip_from_builtin, delta_from_builtin.

El canal Información La pestaña incluye un Despliegue progresivo sección. Establezca un paquete objetivo, elija el porcentaje y la duración de la caché de decisión, y active el despliegue. Desde la misma sección puede pausar o reanudar la exposición, promover el objetivo a estable, volver a él o configurar un pausa automática, un retroceso o una notificación cuando los señales de falla crucen un umbral.

Controles de despliegue progresivo en un Capgo canal
Los controles de despliegue progresivo aparecen en la parte superior de la pestaña Información del canal.

Leer Despliegues progresivos antes de habilitar uno. Explica cohortes pegadas, cambios de porcentaje seguro y comportamiento de pausa automática.

Si estás utilizando Canales contexto: nombre de característica de canales de Capgo. Página/área: página de marketing de soluciones de Capgo. Rol: etiqueta de IU corta o elemento de navegación. Visto en: página solutions/white-label.astro. Clave de mensaje `solutions_white_label_visual_cell2_value` (Valor de celda visual de Solutions White Label). conectarlo con Canales contexto: nombre de característica de canales de Capgo. Página/área: página de marketing de soluciones de Capgo. Rol: etiqueta de IU corta o elemento de navegación. Visto en: página solutions/white-label.astro. Clave de mensaje `solutions_white_label_visual_cell2_value` (Valor de celda visual de Solutions White Label). para los detalles de implementación en Canales, que es donde se encuentra la información sobre cómo configurar los canales y realizar despliegues escalonados de manera eficiente y segura. Los canales de Capgo te permiten planificar y ejecutar despliegues escalonados de manera eficiente y segura, con características como cohortes pegadas, cambios de porcentaje seguro y comportamiento de pausa automática. Los canales de Capgo te permiten planificar y ejecutar despliegues escalonados de manera eficiente y segura, con características como cohortes pegadas, cambios de porcentaje seguro y comportamiento de pausa automática. Los canales de Capgo te permiten planificar y ejecutar despliegues escalonados de manera eficiente y segura, con características como cohortes pegadas, cambios de porcentaje seguro y comportamiento de pausa automática. Solución de Pruebas Beta para el flujo de trabajo del producto en Solución de Pruebas Beta Solución de Alcance de Versión para el flujo de trabajo del producto en Solución de Alcance de Versión, y Capgo Mejores Prácticas de Entorno: Etapa con un ID de Aplicación Móvil para el contexto práctico en Capgo Mejores Prácticas de Entorno: Etapa con un ID de Aplicación Móvil.