@aptabase/tauri

中文文档
0.7.0发布于 2026/10/16TypeScriptES Module构建来源已验证近 30 天下载 5921

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

中文使用文档
文档目录6 节
  1. 安装
  2. 使用量
  3. 报告错误
  4. 通过.env提供APTABASE KEY
  5. 交付
  6. TLS 后端

Aptabase

Aptabase 的 Tauri 插件

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

安装

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

src-tauri/Cargo.toml

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

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

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

使用量

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

然后用 Tauri 注册插件 :

src-tauri/src/main.rs

#[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 像这样的事件:

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 宾客绑定程序获得 :

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数字 :

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 首先访问控制列表:

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

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

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

trackError(error, { fatal: true }); // severity: fatal
use tauri_plugin_aptabase::{ErrorReport, ErrorTracker};

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

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

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,然后叫它在哪里 你会把钥匙.

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 后端

插件发送事件与 西边。您选择其 TLS 后端,并带有其中一种货物特性:

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

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

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

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

AI/LLM整合说明见 页:1

版本与发布记录

@aptabase/tauri 共发布 8 个版本,首次发布于 2023/03/25;过去 12 个月发布了 2 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.7.0latest2026/10/1622 天前
0.6.02026/10/1622 天前
0.4.12023/08/073 年前
0.2.02023/05/053 年前
0.1.32023/04/023 年前
0.1.22023/03/293 年前

关于 @aptabase/tauri 的常见问题

@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 和提交记录判断。