# @aptabase/tauri 中文文档

规范地址：https://npmcn.com/package/%40aptabase/tauri/

版本：0\.7\.0
npm 元数据更新时间：2026-10-16T14:19:37.859Z
中文译文更新时间：2026-11-06T12:56:47.831Z
软件包许可：未声明

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

原始 npm 页面：https://www.npmjs.com/package/%40aptabase/tauri
原文对照：https://npmcn.com/package/%40aptabase/tauri/?lang=original
项目主页：https://github.com/aptabase/tauri-plugin-aptabase
源码仓库：https://github.com/aptabase/tauri-plugin-aptabase

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

- 包体积（解压后）：12.2 kB，5 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：2 个
- 首次发布：2023-03-24T16:18:07.192Z
- 最新版本发布：2026-10-16T14:19:37.354Z
- 近 30 天下载量：5921（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：8（近 12 个月 2 个）

## 中文简介

Aptabase 的 Tauri 插件: 开放源码、 移动、 桌面和网络应用程序的隐私第一和简单分析

## 安装

```sh
npm install @aptabase/tauri
```

也可以使用：`pnpm add @aptabase/tauri`、`yarn add @aptabase/tauri`、`bun add @aptabase/tauri`

## README

![Aptabase](https://aptabase.com/og.png)

# Aptabase 的 Tauri 插件

此插件允许您将您的应用程序与 Aptabase, 开源、 隐私第一 和 移动、 桌面和 Web Apps 的简单分析 中可以分析的事件连接在一起 .

## 安装

安装核心插件,将以下内容添加到您的 `Cargo.toml` 文件 :

`src-tauri/Cargo.toml`

```toml
[dependencies]
tauri-plugin-aptabase = "1.3.0"
```

```toml
[dependencies]
tauri-plugin-aptabase = { git = "https://github.com/aptabase/tauri-plugin-aptabase" }
```

您可以使用您的首选 JavaScript 软件包管理器安装 JavaScript Guest 绑定

```bash
npm add @aptabase/tauri
```

```bash
npm add https://github.com/aptabase/tauri-plugin-aptabase
```

## 使用量

首先,你必须得到你的 `App Key` 从Aptabase可以找到它 `Instructions` 菜单.

然后用 Tauri 注册插件 :

`src-tauri/src/main.rs`

```rust
#[tokio::main]
async fn main() {
    tauri::Builder::default()
        .plugin(tauri_plugin_aptabase::Builder::new("<YOUR_APP_KEY>").build()) // 👈 this is where you enter your App Key
        .run(tauri::generate_context!())
        .expect("error while running tauri application");
}
```

最后加点 `aptabase:allow-track-event` 进入您的访问控制列表.

您可以从 Rust 中导入 `tauri_plugin_aptabase::EventTracker` 特质和呼唤 `track_event` 方法打开 `App`, (中文(简体) ), `AppHandle` 或者说 `Window`。 。 。 .

举例来说,你可以添加 `app_started` 财务报告和审定财务报表 `app_exited` 像这样的事件:

```rust
use tauri_plugin_aptabase::EventTracker;

#[tokio::main]
async fn main() {
    tauri::Builder::default()
        .plugin(tauri_plugin_aptabase::init("<YOUR_APP_KEY>".into()))
        .setup(|app| {
            app.track_event("app_started", None);
            Ok(())
        })
        .build(tauri::generate_context!())
        .expect("error while running tauri application")
        .run(|handler, event| match event {
            tauri::RunEvent::Exit { .. } => {
                handler.track_event("app_exited", None);
                handler.flush_events_blocking();
            }
            _ => {}
        })
}
```

这个 `trackEvent` 函数也可以通过 JavaScript 宾客绑定程序获得 :

```js
import { trackEvent } from "@aptabase/tauri";

trackEvent("save_settings") // An event with no properties
trackEvent("screen_view", { name: "Settings" }) // An event with a custom property
```

几个重要说明:

1.  插件会自动增强事件,提供一些有用的信息,如OS,app版本等.
2.  你控制着被送到阿普塔基地的东西 此插件不会自动跟踪任何事件, 您需要调用 `trackEvent` 手动.
    -   因此,一般建议在启动时至少跟踪一个事件
3.  你不需要等待着 `trackEvent` 函数,会在后台运行.
4.  只允许自定义属性上的字符串和数字值

## 报告错误

> 错误报告在β中. 报告出现在 `Errors` 你的Aptabase仪表板的一页.

使用 `track_error` 报告在Rust发现和处理的错误 `tauri_plugin_aptabase::ErrorTracker` 特点 `App`, (中文(简体) ), `AppHandle` 或者说 `Window`数字 :

```rust
use tauri_plugin_aptabase::ErrorTracker;

if let Err(err) = std::fs::read_to_string("settings.json") {
    app.track_error(&err); // severity: error
}
```

这个 `trackError` 函数在 JavaScript 中也这样做。 添加 `aptabase:allow-track-error` 首先访问控制列表:

```js
import { trackError } from "@aptabase/tauri";

try {
  await saveSettings();
} catch (error) {
  trackError(error); // severity: error
}
```

对于您的应用程序无法恢复的错误, 请将报告标为致命 :

```js
trackError(error, { fatal: true }); // severity: fatal
```

```rust
use tauri_plugin_aptabase::{ErrorReport, ErrorTracker};

app.track_error_report(ErrorReport::from_error(&err).with_fatal(true)); // severity: fatal
```

要自动报告崩溃和未发生错误, 注册插件时允许报告崩溃 :

```rust
tauri::Builder::default()
    .plugin(tauri_plugin_aptabase::Builder::new("<YOUR_APP_KEY>").with_crash_reporting().build())
```

关于错误报告的几个重要说明:

1.  主线上的恐慌结束了你的应用:据报道,这是致命的 `crash`,且应用程序等待3秒后报告才会出站. 在 Aync 命令中的恐慌或 Tauri 的 Aync 运行时的任务只结束此任务(`taskException`),在自己端的一线上有一个,只有那条线(`unhandled`: 二者均严重报告 `error`。与 `with_panic_hook` 仍然运行.
2.  随着崩溃报告,网页视图的未发现出错(`unhandled`和无所施舍的应许`taskException`报告的内容也包括在内。 这需要 `aptabase:allow-track-error` 允许.
3.  每份报告包括错误类型、消息、堆栈跟踪、严重性(`error` 或者说 `fatal`及其如何被俘获(`handled`, (中文(简体) ), `unhandled`, (中文(简体) ), `taskException` 或者说 `crash`) (中文(简体) ). 报告一个 Rust 错误,有其类型名称和导致它的错误;有其位置和回溯追踪的恐慌.
4.  错误以单独的每月错误配额计算 。 当它被耗尽时,服务器会拒绝新的报告直到它重新发送,插件会放弃它们而不是重试.
5.  不通过Rust的惊慌处理器(英语:Segfault (sigfault) or a biliot in hern code)的崩溃没有被捕获.

## 通过.env提供APTABASE KEY

可以在编译时使用 .env 文件加载 APTABASE KEY `dotenvy_macro` 货箱。 这个 `.env` 文件需要为 输入 `src-tauri` 该目录 `dotevny_macro` 要找到合适的箱子.

添加数据 `use` 声明您正在创建 tauri 应用程序的地方( 可能) `lib.rs` 塔里v2,然后叫它在哪里 你会把钥匙.

```rust
use tauri_plugin_aptabase::EventTracker;
use dotenvy_macro::dotenv;

#[cfg_attr(mobile, tauri::mobile_entry_point)]
/// This function sets up and runs a Rust application using the Tauri framework, with various plugins
/// and event handlers.
pub fn run() {
    tauri::Builder::default()
        .build(tauri::generate_context!())
        .plugin(tauri_plugin_aptabase::Builder::new(dotenv!("APTABASE_KEY")).build())
        .expect("Error when building tauri app")
        .run(|handler, event| match event {
            tauri::RunEvent::Exit { .. } => {
                handler.track_event("app_exited", None);
                handler.flush_events_blocking();
            }
            tauri::RunEvent::Ready { .. } => {
                handler.track_event("app_started", None);
            }
            _ => {}
        });
}
```

## 交付

事件在内存中排入队列, 在背景中发送: 每60秒发布会构建, 每2秒调试会构建( set) `flush_interval` 内 `InitOptions` {\\fn华文楷体\\fs16\\1che0e0e0}只要你打电话 `flush_events_blocking()`。 。 。 .

-   每次请求最多可举办25个活动.
-   如果请求没有到达服务器(没有网络,超时)或服务器有5xx状态的回答,其事件会被排队等待下一次冲出.
-   如果服务器以其他任何不成功状态如 4xx 回答,则其事件被放弃.
-   队列没有被保存到磁盘中 .

请求使用 MacOS 和 Windows 上的系统代理设置,以及 `HTTP_PROXY`, (中文(简体) ), `HTTPS_PROXY`, (中文(简体) ), `ALL_PROXY` 财务报告和审定财务报表 `NO_PROXY` 每个平台的环境变量.

## TLS 后端

插件发送事件与 [西边](https://crates.io/crates/reqwest)。您选择其 TLS 后端,并带有其中一种货物特性:

| 特性 | 后端 |
| --- | --- |
| `default-tls` (默认) | reqwest 的默认后端, 目前 [生锈](https://crates.io/crates/rustls) |
| `rustls-tls` | 生锈 |
| `native-tls` | 该平台的TLS库:Linux和Android上的OpenSSL,Apple平台上的Security.framework,Windows上的SChannel |

要切换后端,请关闭默认特性 :

```toml
[dependencies]
tauri-plugin-aptabase = { version = "1.3", default-features = false, features = ["native-tls"] }
```

也没有 `default-tls` 也没有 `rustls-tls` 需要 OpenSSL,所以无需它就可以交叉编译Android和Linux.

AI/LLM整合说明见 [页:1](https://npmcn.com/package/%40aptabase/tauri/llms.txt)

## 常见问题

### @aptabase/tauri 是什么？

Aptabase 的 Tauri 插件: 开放源码、 移动、 桌面和网络应用程序的隐私第一和简单分析

### 如何安装 @aptabase/tauri？

在项目目录运行 npm install @aptabase/tauri，或使用 pnpm add / yarn add / bun add。

### @aptabase/tauri 支持 TypeScript 吗？

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

### @aptabase/tauri 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @aptabase/tauri 可以商用吗？

@aptabase/tauri 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### @aptabase/tauri 的下载量有多少？

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

### @aptabase/tauri 还在维护吗？

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

