使用する @capgo/capacitor-network-diagnostics
Capacitor アプリケーションで、制限されたWi-Fi、キャプティブポータル、ブロックされたポート、WebSocketの失敗、遅いダウンロード、パケットロスの診断を行うネイティブネットワーク診断
インストール
npm install @capgo/capacitor-network-diagnostics
npx cap sync
このプラグインが提供するもの
getNetworkStatus- ネイティブ接続タイプとプラットフォームネットワークフラグを読み取るtestUrl- Check HTTP or HTTPS URL reachability with status code and latency.testPort- ホストとポートにネイティブTCPソケットを開くtestWebSocket- 接続を検証するws://-wss://-testDownloadSpeed- 接続ハンドシェイクを検証するtestPacketLoss- iOSアプリやAndroidアプリでパケットロスを推定するには、繰り返しプローブを使用します。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: https://github.com/Cap-go/capacitor-network-diagnostics/
- Docs: /docs/plugins/network-diagnostics/