Saltar al contenido principal
Alternativas

Cómo enviar una actualización específica a un usuario o un grupo

Permite a tus usuarios probar la versión beta sin necesidad de TestFlight o el proceso de beta de Google, solo agrega un botón en tu aplicación Ionic y listo!

Cómo enviar una actualización específica a un usuario o un grupo

Introducción

Cuando comiences a disfrutar del sistema de actualizaciones de Capgo, como yo con mis aplicaciones, empezarás a sentir el deseo de ‘¿Qué si quiero más?’

También lo sentí, pero como soy el creador de Capgo, pude echar un vistazo!

Como todo es de código abierto, también tienes ese poder :)

The next pain I got in the Capacitor app distribution process is to make other teammates test the updates!

Con TestFlight, el problema es simple, pero llevar a las personas a tu equipo y hacer que entiendan cómo obtenerlo es un proceso laborioso.

Y, por supuesto, cada vez que envías a Apple, tienes un proceso de revisión aleatorio por parte de un bot que puede tomar 5 minutos o 5 horas, nunca sabes.

Me retrasé muchas veces mi presentación debido a esto…

Y para Google, esto es incluso peor, el gran misterio de mi vida, lanzar una versión de producción toma menos de 2 horas, pero lanzar una beta cercana toma 1-2 días.

Solución

Para solucionar esto, creé el sistema de Canal en Capgo.

npx @capgo/cli@latest bundle upload -c production actualizará a todos los usuarios (si el canal de producción está configurado como predeterminado)

Si haces npx @capgo/cli@latest bundle upload -c development entonces la versión llegará a un canal diferente, esto puede automatizarse en GitHub acción.

Luego tienes 2 formas de permitir que los usuarios obtengan actualizaciones desde el canal

Forma Automática Suprema

Esto puede ser útil cuando no quieras crear tu propio backend para el canal de configuración, esto es rápido de implementar.

Con eso, lo único que debes hacer es permitir que uno de tus canales sea de sí mismo para configurarlo.

Permitir la configuración auto en Capgo

Y luego agrega esto en el code de tu aplicación Ionic, para una mejor experiencia, utiliza esto después de que el usuario haga clic en un botón como ‘regístrate para la beta’

import { CapacitorUpdater } from '@capgo/capacitor-updater'

const deviceId = await CapacitorUpdater.setChannel({ channel: 'beta' })

Método manual

Esto puede ser útil para tu equipo interno, esto es rápido de implementar. Permite a los usuarios copiar su dispositivoID desde tu aplicación y enviarlo a ti manualmente, esta code te ayudará a obtenerlo:

import { CapacitorUpdater } from '@capgo/capacitor-updater'

const deviceId = await CapacitorUpdater.getDeviceId()

Oculta un botón en algún lugar de tu aplicación, o muestra el botón solo a los usuarios conectados con un admin rol, por ejemplo.

Luego ve a la aplicación web o nativa Capgo, conecta como administrador de la aplicación, selecciona tu aplicación, haz clic en la lista de dispositivos.

Luego introduce en la barra de búsqueda el dispositivoID haz clic en el encontrado y luego haz clic en el enlace de canal elige el development, pide a tu compañero que vuelva a abrir la aplicación, espere 30 segundos y abra y cierre.

Debería obtener tu versión.

Forma automática

Esto puede ser útil para tus pruebas beta, esto es más largo de implementar.

Lo mismo que la forma manual, debes obtener el dispositivoID

import { CapacitorUpdater } from '@capgo/capacitor-updater'

const deviceId = await CapacitorUpdater.getDeviceId()

Pero esta vez debes enviarlo automáticamente a tu backend, te dejo que decidas cómo hacerlo.

Te sugiero que lo almacenes en una base de datos, eso facilitará tu vida más adelante.

Luego en tu backend debes enviarlo a Capgo backend también. A continuación, te muestro dos code ejemplos:

NodeJS
import axios from 'axios'

await axios.post('https://api.capgo.app/device', {
  app_id: 'YOUR_APP_ID',
  device_id: 'DEVICE_ID',
  channel: 'CHANNEL_NAME', // The name of the channel, or undefined if version_id provided
  version_id: 'VERSION_NAME' // this is optional, if provide it will override the channel, that useful when you want to debug only one user.
}, {
  headers: {
    authorization: 'YOUR_API_KEY' // choose a key with 'write' or 'all' rights
  }
})
Cloudflare
addEventListener('fetch', (event) => {
  event.respondWith(
    handleRequest(event.request).catch(
      err => new Response(err.stack, { status: 500 })
    )
  )
})

async function handleRequest(request) {
  const { pathname, method } = new URL(request.url)
  const body = await request.json()
  const newBody = JSON.stringify({
    app_id: 'YOUR_APP_ID',
    device_id: body.device_id,
    channel: 'alpha'
  })
  const newUrl = new URL('https://api.capgo.app/device')
  const options = {
    headers: {
      authorization: 'YOUR_API_KEY',
    },
    method: 'POST',
    body: newBody
  }

  if (request.method === 'DELETE') {
    // DELETE the channel link
    options.method = 'DELETE'
    return fetch(newUrl.toString(), options)
  }

  return fetch(newUrl.toString(), options)
}

Y solo envía tu dispositivo_id en el cuerpo de él a la URL desplegada con POST para agregar y DELETE para eliminar.

Después de configurado, intenta agregar un botón en tu aplicación para optar a la canalización, y verifica en la aplicación web si eso se ha establecido.

También puedes enviar null para eliminar la sobrescritura

If necesitas verificar programáticamente qué override está configurado en un dispositivo, puedes obtenerlo en la misma URL

import axios from 'axios'

const res = await axios.get('https://api.capgo.app/device?app_id=YOUR_APP_ID&device_id=DEVICE_ID', {
  headers: {
    authorization: 'YOUR_API_KEY' // choose a key with 'write' or 'all' rights
  }
})

console.log('data', res.json())

Sigue adelante desde Cómo enviar una actualización específica a un usuario o un grupo

Si estás utilizando Cómo enviar una actualización específica a un usuario o un grupo para planificar la ruta de canal y el despliegue en etapas, conecta con Canales para los detalles de implementación en los Canales, Canales para los detalles de implementación en los Canales, Canales para los detalles de implementación en los Canales, Solución de Pruebas Beta para el flujo de trabajo del producto en la Solución de Pruebas Beta Solución de Enfoque de Versión para el flujo de trabajo del producto en la Solución de Enfoque de Versión.

Actualizaciones en vivo para aplicaciones Capacitor

Cuando un error de capa de web está en vivo, envíe la corrección a través de Capgo en lugar de esperar días para la aprobación de la tienda de aplicaciones. Los usuarios obtienen la actualización en segundo plano mientras los cambios nativos siguen en el camino de revisión normal.

Últimas noticias de nuestro Blog

Capgo te brinda las mejores perspectivas que necesitas para crear una aplicación móvil verdaderamente profesional.