Panduan
Cara menggunakan Network Diagnostics di Capacitor
Menggunakan @capgo/capacitor-network-diagnostics
Diagnostik jaringan native untuk aplikasi Capacitor yang perlu debug Wi-Fi terbatas, captive portal, port terblokir, kegagalan WebSocket, download lambat, dan packet loss.
Instal
npm install @capgo/capacitor-network-diagnostics
npx cap sync
Apa yang Diekspos Plugin Ini
getNetworkStatus- Baca tipe koneksi native dan flag jaringan platform.testUrl- Cek keterjangkauan URL HTTP atau HTTPS dengan status code dan latensi.testPort- Buka native TCP socket ke host dan port tertentu.testWebSocket- Validasiws://atauwss://handshake.testDownloadSpeed- Ukur throughput download native.testPacketLoss- Estimasi packet loss pada level aplikasi dengan probe berulang.runDiagnostics- Jalankan diagnostic pass gabungan dan kembalikan daftar masalah.
Contoh Penggunaan
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 Support
Minta user yang terdampak untuk menjalankan diagnostik saat terhubung ke Wi-Fi atau access point yang bermasalah. Kirim hasilnya ke support dengan:
- tipe koneksi dan flag jaringan OS
- URL, port, atau endpoint WebSocket yang gagal
- kecepatan download Mbps
- persentase packet loss
- native error code dan pesan error
Raw ICMP ping tidak portabel di aplikasi iOS dan Android, jadi packet loss diukur menggunakan probe TCP atau HTTP berulang.
Referensi Lengkap
- GitHub: https://github.com/Cap-go/capacitor-network-diagnostics/
- Dokumentasi: /docs/plugins/network-diagnostics/