Mulai
Salin 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.
Pasang
Judul bagian “Pasang”Anda dapat menggunakan Pengaturan Bantuan AI kami untuk memasang plugin. Tambahkan Capgo kemampuan ke alat AI Anda menggunakan perintah berikut:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLalu gunakan prompt berikut:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-network-diagnostics` plugin in my project.Jika Anda lebih suka Pengaturan Manual, pasang plugin dengan menjalankan perintah-perintah berikut dan ikuti instruksi spesifik platform di bawah ini:
npm install @capgo/capacitor-network-diagnosticsnpx cap syncimport { NetworkDiagnostics } from '@capgo/capacitor-network-diagnostics';Lakukan laporan diagnostic lengkap
Bagian berjudul “Lakukan laporan diagnostic 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
Bagian berjudul “Periksa status jaringan saat ini”const 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 jaringan yang ditangkap. iOS melaporkan status jalur, jenis antarmuka, jalur mahal, dan jalur yang terbatas melalui Network.framework.
Tes API ketersediaan
Bagian berjudul “Tes API ketersediaan”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 tertangkap, sementara plugin ini menggunakan jaringan native.
Tes port TCP
Bagian berjudul “Tes port TCP”const port = await NetworkDiagnostics.testPort({ host: 'api.example.com', port: 443, timeoutMs: 3000,});
console.log(port.open, port.durationMs);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 “Tes 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 tertangkap memungkinkan halaman HTTPS tetapi memblokir permintaan upgrade WebSocket.
UKuran kecepatan download
Judul bagian “UKuran 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 agar hasilnya mencerminkan jalur jaringan yang dibutuhkan aplikasi Anda.
Estimasi kehilangan paket
Judul bagian “Estimasi kehilangan 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 ke aplikasi App Store dan Play Store. Metode ini mengukur kehilangan paket pada tingkat aplikasi dengan mengulang probe TCP atau HTTP.
Pengganti web
Judul bagian “Pengganti web”Implementasi 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 diagnostik nyata.