使用する@capgo/capacitor-network-diagnostics
Capacitorアプリケーションで、制限されたWi-Fi、キャプティブゲートウェイ、ブロックされたポート、WebSocketの失敗、遅いダウンロード、パケットロスのデバッグに必要なネイティブネットワーク診断
インストール
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
- ネイティブエラー コードとメッセージ
iOSおよびAndroidアプリでは、Raw ICMPパケットの送信が非ポータブルなので、パケットロスの測定は繰り返しTCPまたはHTTPプローブを使用します。
フルリファレンス
- GitHub: github.com/Cap-go/capacitor-network-diagnostics
- ドキュメント: /docs/plugins/network-diagnostics/