# @capgo/capacitor-mqtt 中文文档

规范地址：https://npmcn.com/package/%40capgo/capacitor-mqtt/

版本：8\.1\.16
npm 元数据更新时间：2026-10-15T05:33:28.601Z
中文译文更新时间：2026-11-09T04:03:44.574Z
软件包许可：MPL-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40capgo/capacitor-mqtt
原文对照：https://npmcn.com/package/%40capgo/capacitor-mqtt/?lang=original
项目主页：https://capgo.app/docs/plugins/capacitor-mqtt/
源码仓库：https://github.com/Cap-go/capacitor-mqtt

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：159 kB，37 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：@capacitor/core \>=8\.0\.0
- 首次发布：2026-02-27T19:18:54.908Z
- 最新版本发布：2026-10-15T05:33:28.297Z
- 近 30 天下载量：40239（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：20（近 12 个月 20 个）

## 中文简介

Android 和 iOS 上 MQTT 连接的电容插件

## 安装

```sh
npm install @capgo/capacitor-mqtt
```

也可以使用：`pnpm add @capgo/capacitor-mqtt`、`yarn add @capgo/capacitor-mqtt`、`bun add @capgo/capacitor-mqtt`

## README

# @ capgo/ 电容- mqtt

将您的 Capacitor app 连接到 iOS 和 Android 上的 MQTT 经纪人, 用于实时 IOT 消息: 发布、 订阅并响应到来的消息 .

[![Capgo - Build Capacitor apps with AI, ship updates instantly](https://capgo.app/readme-banner.svg?repo=Cap-go/capacitor-mqtt)](https://capgo.app/?ref=plugin_mqtt)

**队长**:在几分钟内将修正推给您的 Capacitor 用户,在没有Mac的情况下构建已签名的iOS和Android apps,并在一击中回滚.

## [\*免费开始\*](https://capgo.app/register/?ref=plugin_mqtt)

14天无限自由审判. 不需要信用卡

> 🤖 **建筑与AI编码代理?** 安装 [Capgo 技能](https://capgo.app/skills/?ref=plugin_mqtt) 所以克劳德代码,代码,光标,副驾驶,或双子座CLI知道如何安装和使用 `@capgo/capacitor-mqtt` 在您的电容应用程序中: `npx skills add Cap-go/capgo-skills`。然后问你的经纪人: _将@capgo/capor-mqtt 添加到我的Capacitor app上,并把它连接起来_ [代理设置指南](https://capgo.app/agents/?ref=plugin_mqtt) • 妇女 [主机磁共振](https://capgo.app/docs/ai/mcp/?ref=plugin_mqtt)

![@capgo/capacitor-mqtt for Capacitor apps](https://raw.githubusercontent.com/Cap-go/capacitor-mqtt/main/assets/github-social-preview.png)

## 主要特点

-   **连接**数字 : `connect()` 包含服务器URI,端口,客户端ID,证书,超时和自动重接.
-   **发布**数字 : `publish()` 将有效载荷发送到一个带有QoS的话题并保留选项.
-   **订阅**数字 : `subscribe()` 改为QoS级的主题.
-   **活动**数字 : `onMessageArrived`, (中文(简体) ), `onConnectComplete` 财务报告和审定财务报表 `onConnectionLost` 听众.
-   **本地客户**: CocoaMQTT在iOS上,Eclipse Paho在Android上.
-   **平台**: iOS和Android. 互联网档案馆的存檔,存档日期2013-12-21. 在网上不可用.

![NPM Version](https://img.shields.io/npm/v/%40capgo%2Fcapacitor-mqtt) ![NPM Downloads](https://img.shields.io/npm/dy/%40capgo%2Fcapacitor-mqtt) ![GitHub Repo stars](https://img.shields.io/github/stars/Cap-go/capacitor-mqtt) ![GitHub License](https://img.shields.io/github/license/Cap-go/capacitor-mqtt) ![Maintenance](https://img.shields.io/maintenance/yes/2025)

使用 Eclipse Paho MQTT 库为Android和iOS上的MQTT连接提供电容插件.

## 为什么是MQTTT?

MQTT(Message Queing Teleometry Transport)是一个轻量级,发布订阅的邮件协议理想,用于:

-   **IOT 设备** - 带宽低 电池用量少.
-   **实时消息** - 客户之间即时发送信息
-   **远程监测** - 从分布式设备发送/接收数据
-   **家用自动化** - 无缝连接智能设备

这个插件为 Capacitor apps 提供了完整的 MQTT 客户端执行,支持Android和iOS.

  

此插件与Capacitor 8及以上兼容.

**公关很受欢迎.**

## 特征

-   通过 TCP 连接 MQTT 经纪人
-   在 QoS 支持下订阅主题
-   使用 QoS 发布信件并保留标记选项
-   收听收到的消息
-   自动重联支持
-   连接损失检测
-   清洁会话管理
-   保持活动间隔配置

## 安装

您可以使用我们的 AI 辅助设置安装插件 。 使用以下命令将 Capgo 技能添加到您的 AI 工具 :

```bash
npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins
```

然后使用下列提示:

```text
Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-mqtt` plugin in my project.
```

如果您更喜欢手动设置,请通过运行以下命令来安装插件,并遵循下面的平台特定指令:

```bash
npm install @capgo/capacitor-mqtt
npx cap sync
```

## Android cleantext MQTT (tcp://) (英语)

Android 块非 TLS MQTT (`tcp://`默认情况下。 如果您的经纪人不使用 TLS, 请在您的应用程序中添加网络安全配置 :

```xml
<!-- android/app/src/main/res/xml/network_security_config.xml -->
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>
```

```xml
<!-- android/app/src/main/AndroidManifest.xml -->
<application
    android:usesCleartextTraffic="true"
    android:networkSecurityConfig="@xml/network_security_config">
```

没有这个, `connect()` 以代理连接错误拒绝, 而不是默默失败 .

## 使用量

### 连接到 MQTT 经纪

```typescript
import { MqttBridge } from '@capgo/capacitor-mqtt';

const connectionOptions = {
  serverURI: 'tcp://broker.hivemq.com',
  port: 1883,
  clientId: 'my-client-id',
  username: '',
  password: '',
  setCleanSession: true,
  connectionTimeout: 30,
  keepAliveInterval: 60,
  setAutomaticReconnect: true,
};

await MqttBridge.connect(connectionOptions);
```

### 订阅主题

```typescript
const result = await MqttBridge.subscribe({
  topic: 'my/topic',
  qos: 0,
});
```

### 发布信件

```typescript
const result = await MqttBridge.publish({
  topic: 'my/topic',
  payload: 'Hello World',
  qos: 0,
  retained: false,
});
```

### 聆听信件

```typescript
import { MqttBridge } from '@capgo/capacitor-mqtt';

MqttBridge.addListener('onMessageArrived', (result) => {
  console.log('Topic:', result.topic);
  console.log('Message:', result.message);
});
```

### 断开连接

```typescript
await MqttBridge.disconnect();
```

## API 密码

-   [`connect(...)`](https://npmcn.com/package/%40capgo/capacitor-mqtt/#readme-connect)
-   [`disconnect()`](https://npmcn.com/package/%40capgo/capacitor-mqtt/#readme-disconnect)
-   [`subscribe(...)`](https://npmcn.com/package/%40capgo/capacitor-mqtt/#readme-subscribe)
-   [`publish(...)`](https://npmcn.com/package/%40capgo/capacitor-mqtt/#readme-publish)
-   [`addListener('onConnectionLost', ...)`](https://npmcn.com/package/%40capgo/capacitor-mqtt/#readme-addlisteneronconnectionlost-)
-   [`addListener('onConnectComplete', ...)`](https://npmcn.com/package/%40capgo/capacitor-mqtt/#readme-addlisteneronconnectcomplete-)
-   [`addListener('onMessageArrived', ...)`](https://npmcn.com/package/%40capgo/capacitor-mqtt/#readme-addlisteneronmessagearrived-)
-   [接口](https://npmcn.com/package/%40capgo/capacitor-mqtt/#readme-interfaces)
-   [类型异名](https://npmcn.com/package/%40capgo/capacitor-mqtt/#readme-type-aliases)

### 连接(...)

```typescript
connect(options: { serverURI: string; port: number; clientId: string; username: string; password: string; setCleanSession: boolean; connectionTimeout: number; keepAliveInterval: number; setAutomaticReconnect: boolean; setLastWill?: { willTopic: string; willPayload: string; willQoS: number; setRetained: boolean; }; }) => Promise<any>
```

| 参数 | 类型 |
| --- | --- |
| **`options`** | `{ serverURI: string; port: number; clientId: string; username: string; password: string; setCleanSession: boolean; connectionTimeout: number; keepAliveInterval: number; setAutomaticReconnect: boolean; setLastWill?: { willTopic: string; willPayload: string; willQoS: number; setRetained: boolean; }; }` |

**回返情况:** `Promise<any>`

* * *

### 断开( )

```typescript
disconnect() => Promise<any>
```

**回返情况:** `Promise<any>`

* * *

### 订阅(...)

```typescript
subscribe(options: { topic: string; qos: number; }) => Promise<{ topic: string; qos: number; }>
```

| 参数 | 类型 |
| --- | --- |
| **`options`** | `{ topic: string; qos: number; }` |

**回返情况:** `Promise<{ topic: string; qos: number; }>`

* * *

### 发布(...)

```typescript
publish(options: { topic: string; payload: string; qos: number; retained: boolean; }) => Promise<{ topic: string; payload: string; qos: number; retained: boolean; messageId: any; }>
```

| 参数 | 类型 |
| --- | --- |
| **`options`** | `{ topic: string; payload: string; qos: number; retained: boolean; }` |

**回返情况:** `Promise<{ topic: string; payload: string; qos: number; retained: boolean; messageId: any; }>`

* * *

### 添加倾听器( 连接丢失,...)

```typescript
addListener(eventName: 'onConnectionLost', listener: onConnectionLostListener) => Promise<PluginListenerHandle>
```

| 参数 | 类型 |
| --- | --- |
| **`eventName`** | `'onConnectionLost'` |
| **`listener`** | `[onConnectionLostListener](https://npmcn.com/package/%40capgo/capacitor-mqtt/#readme-onconnectionlostlistener)` |

**回返情况:** `Promise<[PluginListenerHandle](https://npmcn.com/package/%40capgo/capacitor-mqtt/#readme-pluginlistenerhandle)>`

* * *

### 添加Listener('on Connect Conflete',...)

```typescript
addListener(eventName: 'onConnectComplete', listener: onConnectCompleteListener) => Promise<PluginListenerHandle>
```

| 参数 | 类型 |
| --- | --- |
| **`eventName`** | `'onConnectComplete'` |
| **`listener`** | `[onConnectCompleteListener](https://npmcn.com/package/%40capgo/capacitor-mqtt/#readme-onconnectcompletelistener)` |

**回返情况:** `Promise<[PluginListenerHandle](https://npmcn.com/package/%40capgo/capacitor-mqtt/#readme-pluginlistenerhandle)>`

* * *

### 添加倾听器( 在“ MessageArived ” 中)..

```typescript
addListener(eventName: 'onMessageArrived', listener: onMessageArrivedListener) => Promise<PluginListenerHandle>
```

| 参数 | 类型 |
| --- | --- |
| **`eventName`** | `'onMessageArrived'` |
| **`listener`** | `[onMessageArrivedListener](https://npmcn.com/package/%40capgo/capacitor-mqtt/#readme-onmessagearrivedlistener)` |

**回返情况:** `Promise<[PluginListenerHandle](https://npmcn.com/package/%40capgo/capacitor-mqtt/#readme-pluginlistenerhandle)>`

* * *

### 接口

#### 插件听筒

| Prop | 类型 |
| --- | --- |
| **`remove`** | `() => Promise<void>` |

### 类型异名

#### 连接丢失收听器

`(x: { connectionStatus: string; reasonCode: number; message: string; }): void`

#### 连接完成收听器

`(x: { reconnected: boolean; serverURI: string; }): void`

#### 时间轴: 听众

`(x: { topic: string; message: string; }): void`

## 许可证

MPL - 2.0 导弹

## 常见问题

### @capgo/capacitor-mqtt 是什么？

Android 和 iOS 上 MQTT 连接的电容插件

### 如何安装 @capgo/capacitor-mqtt？

在项目目录运行 npm install @capgo/capacitor-mqtt，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@capacitor/core（\>=8\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @capgo/capacitor-mqtt 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @capgo/capacitor-mqtt 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @capgo/capacitor-mqtt 可以商用吗？

@capgo/capacitor-mqtt 使用 MPL-2\.0 许可。弱 Copyleft：可以商用，也可以和闭源代码一起使用；但如果分发时修改了 MPL 授权的文件，这些文件的修改需以 MPL 开源。以上为概括，不构成法律意见，请以许可原文为准。

### @capgo/capacitor-mqtt 的下载量有多少？

根据 npm 官方下载统计，@capgo/capacitor-mqtt 在 2026/10/09 – 2026/11/07 这 30 天内被下载 40,239 次，日均约 1,341 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @capgo/capacitor-mqtt 还在维护吗？

最新版本 8\.1\.16 发布于 2026/10/15（25 天前）；至今共发布 20 个版本，其中过去 12 个月发布了 20 个；首次发布于 2026/02/28。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

