Saltar al contenido

Uso de Capgo en China

Si vas a desplegar tu app a usuarios en China, tendrás que configurar Capgo para que use URLs regionales de OST (Object Storage Technology) y así garantizar actualizaciones rápidas y fiables.

Debido a la infraestructura de red y las regulaciones en China (el Great Firewall), las conexiones directas a servidores internacionales pueden ser lentas o inestables. Capgo ofrece URLs de OST dedicadas con datos alojados en Hong Kong para minimizar la latencia y asegurar que tus usuarios reciban actualizaciones de la forma más rápida y fiable posible.

Para configurar Capgo para China, debes establecer tres URLs específicas en tu archivo de configuración de Capacitor. Estas URLs apuntan a la infraestructura de Capgo basada en Hong Kong.

  1. Abre tu capacitor.config.ts archivo

  2. Añade la siguiente configuración a la CapacitorUpdater sección del plugin:

    import { CapacitorConfig } from '@capacitor/cli';
    const config: CapacitorConfig = {
    plugins: {
    CapacitorUpdater: {
    autoUpdate: 'atBackground',
    updateUrl: 'https://updater.capgo.com.cn/updates',
    statsUrl: 'https://updater.capgo.com.cn/stats',
    channelUrl: 'https://updater.capgo.com.cn/channel_self',
    },
    },
    };
    export default config;
  3. Reconstruye tu app para aplicar los cambios:

    Ventana de terminal
    npm run build
    npx cap sync

Esto es lo que hace cada URL:

  • updateUrl: https://updater.capgo.com.cn/updates - Se usa para buscar y descargar actualizaciones disponibles para tu app
  • statsUrl: https://updater.capgo.com.cn/stats - Se usa para enviar analíticas y estadísticas de uso a Capgo
  • channelUrl: https://updater.capgo.com.cn/channel_self - Se usa para obtener la configuración del canal y determinar qué actualizaciones aplicar

Debido a las limitaciones de red causadas por el Great Firewall de China, tenemos recomendaciones específicas para apps desplegadas en China continental:

El plugin updater de Capgo aborta las llamadas a API cuando responseTimeout se excede (el valor es en segundos). La infraestructura de Edge frente a Capgo también tarda unos 3 segundos como un presupuesto de fallos para algunas rutas.

En China continental, la latencia transfronteriza suele ser mayor. Mantén un responseTimeout para que el plugin tenga margen suficiente para completar las comprobaciones y descargas de Live Update mediante updater.capgo.com.cn en lugar de fallar prematuramente:

const config: CapacitorConfig = {
plugins: {
CapacitorUpdater: {
autoUpdate: 'atBackground',
// Seconds. Raise above the default (20) for China network conditions.
responseTimeout: 60,
updateUrl: 'https://updater.capgo.com.cn/updates',
statsUrl: 'https://updater.capgo.com.cn/stats',
channelUrl: 'https://updater.capgo.com.cn/channel_self',
},
},
};

Nosotros recomendamos encarecidamente usar autoUpdate: 'atBackground' para apps en China. La conectividad de red en China es menos eficiente que en otras regiones, y los modos de aplicación instantánea pueden dar una mala experiencia de usuario si las descargas son lentas o se interrumpen.

En su lugar, usa el comportamiento de actualización por defecto, donde las actualizaciones se descargan en segundo plano y se aplican cuando la app pasa a segundo plano o se reinicia. Esto ofrece una experiencia más fiable a tus usuarios.

const config: CapacitorConfig = {
plugins: {
CapacitorUpdater: {
autoUpdate: 'atBackground', // Recommended for China
updateUrl: 'https://updater.capgo.com.cn/updates',
statsUrl: 'https://updater.capgo.com.cn/stats',
channelUrl: 'https://updater.capgo.com.cn/channel_self',
},
},
};

Aquí tienes un ejemplo completo con la configuración recomendada para apps desplegadas en China:

import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
appId: 'com.example.app',
appName: 'My App',
webDir: 'dist',
plugins: {
CapacitorUpdater: {
autoUpdate: 'atBackground', // Recommended for better reliability in China
responseTimeout: 60, // Seconds — give China network more room
updateUrl: 'https://updater.capgo.com.cn/updates',
statsUrl: 'https://updater.capgo.com.cn/stats',
channelUrl: 'https://updater.capgo.com.cn/channel_self',
},
},
};
export default config;

Tras configurar las URLs específicas para China, puedes verificar que las actualizaciones funcionan correctamente:

  1. Sube un nuevo bundle a Capgo:

    Ventana de terminal
    npx @capgo/cli@latest bundle upload --channel=production
  2. Instala tu app en un dispositivo de prueba en China

  3. Monitoriza el proceso de actualización:

    Ventana de terminal
    npx @capgo/cli@latest app debug
  4. Comprueba que las actualizaciones se descargan desde las URLs de China OST

Si tu app tiene usuarios tanto en China como fuera de ella, puedes usar la configuración de dominio chino para todos los usuarios. El updater.capgo.com.cn dominio se resuelve globalmente gracias a la infraestructura de Alibaba DNS, siendo accesible tanto en China como en el resto del mundo.

Las URLs de los dominios chinos funcionan sin problemas en apps multi-región:

const config: CapacitorConfig = {
plugins: {
CapacitorUpdater: {
autoUpdate: 'atBackground', // Recommended for China users
updateUrl: 'https://updater.capgo.com.cn/updates',
statsUrl: 'https://updater.capgo.com.cn/stats',
channelUrl: 'https://updater.capgo.com.cn/channel_self',
},
},
};

Esta configuración única funcionará para:

  • Usuarios en China continental (vía infraestructura en Hong Kong)
  • Usuarios fuera de China (que acceden a la misma infraestructura mediante Alibaba DNS)

Consideraciones de rendimiento:

Aunque el .cn dominio se resuelve globalmente mediante Alibaba DNS y funciona en todas partes, es ligeramente menos eficiente para usuarios fuera de China que el dominio estándar (api.capgo.app), que se resuelve directamente por Cloudflare donde está nuestro backend. No obstante, la resolución DNS es rápida, por lo que la diferencia de rendimiento es mínima y no afectará la experiencia de usuario.

Si prefieres optimizar de forma distinta por región, también puedes considerar:

  • Crear variantes de la app con configuraciones diferentes
  • Usar configuraciones basadas en entornos para definir las URLs dinámicamente
  • Crear distintos release channels para cada región

Si necesitas ayuda con estrategias de despliegue multi-región, contáctanos en support@capgo.app o únete a nuestro Comunidad de Discord para ayuda.

Puedes monitorear el estado y la salud de los endpoints de Capgo en China en estado.capgo.com.cn. Usa esta página para revisar incidentes, latencia y uptime de las URLs de OST en China antes de depurar tu app.

Si tienes problemas con las actualizaciones en China:

  1. Verifica tu configuración - Asegúrate de que las tres URLs estén bien configuradas en tu capacitor.config.ts
  2. Aumenta responseTimeout - Usa al menos 60 segundos en China para que el plugin no se interrumpa mientras la solicitud de actualización está en curso
  3. Comprueba la conectividad de red - Asegúrate de que tu dispositivo pueda alcanzar el updater.capgo.com.cn dominio
  4. Consulta la página de estado de China - Revisa estado.capgo.com.cn para ver si hay incidentes o degradación de servicio
  5. Revisa los logs - Usa npx @capgo/cli@latest app debug para buscar mensajes de error
  6. Prueba las actualizaciones - Intenta subir un nuevo bundle y monitorea el proceso de descarga
  7. Contactar con soporte - Si los problemas persisten, contáctanos en support@capgo.app o únete a nuestro Comunidad de Discord para obtener ayuda

Si estás usando Uso de Capgo en China para planificar la entrega de live update, conéctalo con Live Updates de Capgo para el flujo de trabajo del producto en Capgo Live Updates, Resumen para el detalle de implementación en Overview, Funcionalidades para el detalle de implementación en Features, Comportamiento de actualización para el detalle de implementación en Update Behavior, y Tipos de actualización para el detalle de implementación en Update Types.