跳过主要内容
@capgo/capacitor-网络诊断 开发者工具 开源

网络诊断 Capacitor 插件

为 URL 可达性、TCP 端口、WebSocket 握手、速度和包丢失运行原生网络诊断

安装

bun add @capgo/capacitor-network-diagnostics bunx cap sync
npm、pnpm 或 yarn
  • npm install @capgo/capacitor-network-diagnostics
  • pnpm add @capgo/capacitor-network-diagnostics
  • yarn add @capgo/capacitor-network-diagnostics

指南

如何在 Capacitor 中使用网络诊断

使用 @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:// context
  • 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 或访问点时运行诊断。发送结果到支持:
  • 失败的 URL、端口或 WebSocket 端点
  • 下载 Mbps
  • 丢包百分比
  • 原生错误代码和消息

由于 iOS 和 Android 应用程序中 ICMP ping 不可移植,故使用重复 TCP 或 HTTP 探测来测量丢包率。

完整参考

常见问题

网络诊断插件常见问题

如何在Capacitor应用中安装网络诊断插件?

运行"bun add @capgo/capacitor-network-diagnostics" (或"npm install @capgo/capacitor-network-diagnostics"),然后运行"bunx cap sync"以使iOS和Android项目捕获native code。在应用code中从"@capgo/capacitor-network-diagnostics"中导入。

是否支持@capgo/capacitor-network-diagnostics与React、Vue和Angular?

是。网络诊断是一个Capacitor包,因此它与任何在Capacitor中运行的Web框架都兼容,包括Ionic、React、Vue、Angular、Svelte和普通JavaScript。

哪个Capacitor版本支持@capgo/capacitor-network-diagnostics?

Capgo 插件遵循 Capacitor 的主要版本:使用与 Capacitor 主要版本匹配的插件版本(例如,插件 v8 与 Capacitor 8)。在 GitHub README 中的兼容性表格中列出了维护的版本。

capgo/capacitor-network-diagnostics 是否免费和开源?

是。code 的源代码在 GitHub 上公开,https://github.com/Cap-go/capacitor-network-diagnostics/,并且可以从 npm 免费安装。欢迎 bug 报告和 pull 请求。

是否可以在 App Store 审核时更新使用 Network Diagnostics 的 code?

安装或升级插件会更改本机 code,因此需要新建的商店构建。之后,JavaScript、HTML 和 CSS 调用插件的更改可以立即通过 Capgo 实时更新发布。

不必等待应用程序审查就可以将网络诊断更改部署

一旦插件在您的商店构建中,Capgo即时更新将推送您的JavaScript、HTML和CSS更改到用户中。

从Capgo开始