Guía
Cómo usar Network Diagnostics en Capacitor
Usando @capgo/capacitor-network-diagnostics
Diagnóstico de red nativo para apps de Capacitor que necesitan depurar Wi-Fi restringido, portales cautivos, puertos bloqueados, fallos de WebSocket, descargas lentas y pérdida de paquetes.
Instalar
npm install @capgo/capacitor-network-diagnostics
npx cap sync
Lo que expone este plugin
getNetworkStatus- Lee el tipo de conexión nativa y los flags de red de la plataforma.testUrl- Comprueba la accesibilidad de una URL HTTP o HTTPS con estado code y latencia.testPort- Abre un socket TCP nativo a un host y puerto.testWebSocket- Valida unws://owss://handshake.testDownloadSpeed- Medir el throughput de descarga nativa.testPacketLoss- Estimar la pérdida de paquetes a nivel de aplicación con sondas repetidas.runDiagnostics- Ejecutar una pasada de diagnóstico combinada y devolver una lista de problemas.
Ejemplo de uso
import { NetworkDiagnostics } from '@capgo/capacitor-network-diagnostics';
const report = await NetworkDiagnostics.runDiagnostics({
urls: [{ url: 'https://api.example.com/health' }],
ports: [{ host: 'api.example.com', port: 443 }],
websockets: [{ url: 'wss://ws.example.com/socket' }],
packetLoss: {
mode: 'tcp',
host: 'api.example.com',
port: 443,
count: 10,
},
});
console.log(report.status);
console.log(report.issues);
Workflow de soporte
Pide al usuario afectado que ejecute diagnósticos mientras esté conectado al Wi-Fi o punto de acceso problemático. Envía los resultados a soporte con:
- tipo de conexión y flags de red del SO
- URLs, puertos o endpoints WebSocket fallidos
- Mbps de descarga
- porcentaje de pérdida de paquetes
- códigos y mensajes de error nativos
El ping ICMP sin procesar no es portable en apps iOS y Android, así que la pérdida de paquetes se mide con sondas TCP o HTTP repetidas.
Referencia completa
- GitHub: https://github.com/Cap-go/capacitor-network-diagnostics/
- Docs: /docs/plugins/network-diagnostics/