ガイド
Capacitor で Network Diagnostics を使う方法
@capgo/capacitor-network-diagnostics の使い方
制限付き Wi-Fi、キャプティブポータル、ポートのブロック、WebSocket の失敗、低速ダウンロード、パケットロスなどをデバッグする必要がある Capacitor アプリ向けのネイティブネットワーク診断。
インストール
npm install @capgo/capacitor-network-diagnostics
npx cap sync
このプラグインで利用可能な機能
getNetworkStatus- ネイティブの接続タイプとプラットフォームのネットワークフラグを読み取ります。testUrl- HTTP/HTTPS URL の到達性を、ステータス code とレイテンシで確認します。testPort- ホストとポートに対してネイティブ TCP ソケットを開きます。testWebSocket- 次を検証します:ws://またはwss://ハンドシェイク。testDownloadSpeed- ネイティブのダウンロードスループットを測定します。testPacketLoss- 繰り返しプローブして、アプリケーション層のパケット損失を推定します。runDiagnostics- 統合診断を実行し、問題のリストを返します。
使用例
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);
サポートワークフロー
問題のあるWi-Fiまたはアクセスポイントに接続した状態で、影響を受けているユーザーに診断の実行を依頼してください。結果は次の情報を添えてサポートに送信してください:
- 接続タイプとOSのネットワークフラグ
- 失敗したURL、ポート、またはWebSocketエンドポイント
- ダウンロード速度 (Mbps)
- パケットロス率
- ネイティブエラーコードとメッセージ
Raw ICMP pingはiOS/Androidアプリではそのまま使えないため、パケットロスはTCPまたはHTTPプローブを繰り返して測定します。
リファレンス全文
- GitHub: https://github.com/Cap-go/capacitor-network-diagnostics/
- ドキュメント: /docs/plugins/network-diagnostics/