Mulai
Copy sebuah prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-network-diagnostics`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/network-diagnostics/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Install
Bagian berjudul “Install”npm install @capgo/capacitor-network-diagnosticsnpx cap syncImport
Bagian berjudul “Import”import { NetworkDiagnostics } from '@capgo/capacitor-network-diagnostics';Lakukan laporan diagnostik lengkap
Bagian berjudul “Lakukan laporan diagnostik lengkap”runDiagnostics adalah cara tercepat untuk mengumpulkan laporan dukungan untuk pengguna di jaringan yang terbatas.
const report = await NetworkDiagnostics.runDiagnostics({ urls: [{ url: 'https://api.example.com/health', method: 'HEAD' }], ports: [{ host: 'api.example.com', port: 443 }], websockets: [{ url: 'wss://ws.example.com/socket' }], download: { url: 'https://speed.example.com/5mb.bin', maxBytes: 5 * 1024 * 1024, }, packetLoss: { mode: 'tcp', host: 'api.example.com', port: 443, count: 10, },});
console.log(report.status.connectionType);console.log(report.issues);Periksa status jaringan saat ini
Periksa status jaringan saat iniconst status = await NetworkDiagnostics.getNetworkStatus();
console.log(status.connected);console.log(status.connectionType);console.log(status.internetReachable);console.log(status.captivePortal);Flag yang tepat tergantung pada platform. Android dapat melaporkan status internet yang diverifikasi dan portal kaptif. iOS melaporkan status jalur, jenis antarmuka, jalur mahal, dan jalur terikat melalui Network.framework.
Tes API ketersambungan
Section titled “Test API reachability”const result = await NetworkDiagnostics.testUrl({ url: 'https://api.example.com/health', method: 'HEAD', timeoutMs: 5000, followRedirects: true,});
if (!result.reachable) { console.warn(result.errorCode, result.errorMessage);}Gunakan endpoint kesehatan nyata dari backend Anda. Periksaan browser hanya dapat disembunyikan oleh WebView, CORS, proxy, atau perilaku portal kaptif, sedangkan plugin ini menggunakan jaringan native.
Tes koneksi porta TCP
Periksa status porta TCPconst port = await NetworkDiagnostics.testPort({ host: 'api.example.com', port: 443, timeoutMs: 3000,});
console.log(port.open, port.durationMs);Hal ini berguna ketika titik akses Wi-Fi memblokir porta non-standar, MQTT, gateway kustom, atau backend pribadi sementara masih memungkinkan browsing normal.
Tes koneksi WebSocket
Bagian berjudul “Test Koneksi WebSocket”const socket = await NetworkDiagnostics.testWebSocket({ url: 'wss://ws.example.com/socket', timeoutMs: 5000,});
console.log(socket.open, socket.statusCode);Gunakan ini ketika proxy atau portal tertutup memungkinkan halaman HTTPS tetapi menghalangi permintaan upgrade WebSocket.
Ukurlah kecepatan download
Bagian berjudul “Ukurlah kecepatan download”const speed = await NetworkDiagnostics.testDownloadSpeed({ url: 'https://speed.example.com/5mb.bin', maxBytes: 5 * 1024 * 1024, timeoutMs: 30000,});
console.log(speed.mbps);Gunakan endpoint file statis milik Anda sendiri sehingga hasilnya mencerminkan jalur jaringan yang dibutuhkan aplikasi Anda.
Perkirakan kerugian paket
Bagian berjudul “Perkirakan kerugian paket”const loss = await NetworkDiagnostics.testPacketLoss({ mode: 'tcp', host: 'api.example.com', port: 443, count: 10, timeoutMs: 3000, intervalMs: 250,});
console.log(loss.lossPercent);Pengiriman ICMP mentah tidak dapat dipindahkan dalam aplikasi App Store dan Play Store. Metode ini mengukur kerugian paket pada tingkat aplikasi dengan mengulang probe TCP atau HTTP.
Fallback web
Pengganti WebImplementasi web ini dimaksudkan untuk pengembangan. Browser tidak dapat membuka soket TCP mentah, dan pengecekan URL mungkin terbatas oleh CORS. Gunakan build iOS atau Android untuk dukungan nyata.