Aptabase 介绍与选型指南

Aptabase(隐私优先的移动/桌面应用事件分析,Firebase Analytics 开源替代)介绍与选型:技术栈与数据链路、SDK 生态、自托管形态、与 PostHog/Umami/Plausible/Countly/Matomo 的量化对比。

AptabaseAptabase产品分析2026/10/30

Aptabase 介绍与选型指南

目标:讲清 Aptabase 是什么、为谁设计、数据如何流动,并用量化维度与同类产品对比,帮助读者判断「我的 App 产品分析该不该选它」。本文为认知与选型篇,全部信息来自官方渠道联网溯源(来源与查询日期见「一、环境信息」),实测部署、配置与 API 细节分别见部署、配置与 API 各专题篇。

一、环境信息

本文是 A1 认知篇,不涉及本地部署,所有事实均来自官方公开渠道,溯源信息如下:

二、软件概述

2.1 项目定位

Aptabase 是一个开源、隐私优先的应用分析(Analytics for Apps)平台,官方将其定位为 Firebase Analytics / Google Analytics 的开源替代,专门面向 Mobile、Desktop 和 Web 应用。它与常见网站分析工具的最大差异在「分析对象」:Aptabase 的数据模型以「App + 事件」为中心,天然面向客户端应用(iOS、Android、桌面软件、游戏、Electron 应用等)而非网页浏览行为。

其核心主张(来源:官方主仓库 README,查询日期 2026-10-30):

  • 隐私优先(Privacy-First):采集最小化使用数据,不使用唯一设备/用户标识符,以会话(session)为基本监测单元,宣称完全符合 GDPR、CCPA、PECR 合规要求;
  • 简单(Simple):内置开箱即用的仪表盘,覆盖核心指标,无需自行搭建 BI;
  • 开源(Open-Source):服务端代码与全部 SDK 均 100% 开源,可审计、可自托管。

2.2 许可与商业形态

维度事实(查询日期 2026-10-30)来源
开源许可AGPL-3.0shields.io license 徽章(当日实测返回 AGPL-3.0)
GitHub 星数约 1.9kshields.io stars 徽章(当日实测返回 1.9k)
发布形态主仓库不使用 GitHub Releases:releases.atom 为空 feed(2026-10-30 实测,feed 仅有元数据无条目),自托管镜像以 ghcr.io/aptabase/aptabase:main 滚动 tag 分发releases.atom 当日实测
商业形态双轨制:Managed Cloud(官方托管,EU/US 区域)+ 开源自托管(免费,自行维护)主仓库 README「Managed Cloud / Self-Hosted」章节
云托管计费云托管版内置计费能力(代码中含 LemonSqueezy 计费集成配置项),自托管版不涉及仓库 src/Features/EnvSettings.cs(查询日期 2026-10-30)

⚠️ 注意:AGPL-3.0 是强传染性许可。若你在改造 Aptabase 源码后通过网络向第三方提供服务,需要按 AGPL 义务开源修改后的服务端源码。仅原样自托管、不做二次分发的内部使用场景通常风险可控,但商用前建议做法务评审。

2.3 版本与发布节奏

Aptabase 采取「主干滚动」发布模式:没有语义化的版本号 Release,自托管用户跟随 :main 镜像 tag 更新。数据库结构变更由应用启动时的 FluentMigrator 自动迁移完成(在主仓库源码中可见 migration_history 迁移表设计)。这对运维的含义是:

  • 「固定版本 + 长期不动」的运维模式与该项目发布模型不匹配,升级以「定期拉取 main 镜像 + 数据自动迁移」为主;
  • 没有官方的版本对照表与 changelog 页面,变更跟踪依赖仓库 commit 历史。

三、核心架构

3.1 技术栈与数据流

Aptabase 服务端基于 C# / .NET(ASP.NET Core)构建,部署形态为单应用进程 + 两类存储。官方自托管编排(来源:aptabase/self-hosting 仓库 docker-compose.yml,查询日期 2026-10-30)包含三个服务:

角色组件职责
应用服务Aptabase(.NET)Web 控制台、事件接收(Ingestion)、鉴权、面板查询聚合
元数据存储PostgreSQL 15用户、应用(apps)、分享、功能开关、计费订阅等业务元数据
事件存储ClickHouse 23.8事件明细与会话数据的列式存储,支撑大规模事件的聚合查询

端到端数据流(依据官方仓库代码结构与自托管配置归纳):

客户端 SDK(Swift/Kotlin/Flutter/…)
   │  HTTPS POST 事件(App-Key 鉴权)
   ▼
Aptabase 应用服务 /api/v0/event
   │  校验 AppKey → 会话归并 → 应用内缓冲
   ▼
EventBackgroundWritter 批量写入
   ▼
ClickHouse(事件明细/会话表)          PostgreSQL(元数据)
   │                                     │
   ▼                                     ▼
仪表盘聚合查询 /api/_stats/*      控制台业务数据 /api/_apps、/api/_auth/*

隐私设计上有两个值得注意的机制(来源:主仓库代码,查询日期 2026-10-30):一是「每日盐值(daily salts)」——数据库含 app_salts 表且应用内有定时清理任务(PurgeDailySaltsCronJob),配合「不落唯一标识符」的策略,使事件无法跨天长期追踪到单一设备;二是事件入库时对操作系统/版本等系统属性做会话维度归并,而非记录精确到个人的行为轨迹。

3.2 事件存储选型说明

💡 技术拓展:分析类产品的「事件存储引擎」主流有三类路线——

路线代表特点适用场景
列式 OLAP(ClickHouse 等)Aptabase 自托管、PostHog(可选 ClickHouse)压缩比高、聚合查询快,适合亿级事件事件量大、面板聚合为主
通用关系库(PostgreSQL 等)Umami、Fathom运维简单、生态成熟,超大数据量后聚合变慢中小流量、轻量部署
云端管道(Tinybird/BigQuery 等)Aptabase 云托管版(Tinybird)免运维、按量付费,绑定云服务不想自建存储的 SaaS 用户

Aptabase 的取舍:云托管版走 Tinybird 管道,自托管版走 ClickHouse,两条路线由环境变量切换(TINYBIRD_* 与 CLICKHOUSE_URL)。本文与后续实测均针对自托管(ClickHouse)形态。

四、功能特性

4.1 SDK 生态(核心优势)

Aptabase 官方维护的 SDK 覆盖主流客户端技术栈(来源:主仓库 README「SDKs」章节,查询日期 2026-10-30):

平台SDK 仓库
iOS / macOS(Swift)aptabase/aptabase-swift
Android(Kotlin)aptabase/aptabase-kotlin
React Nativeaptabase/aptabase-react-native
Flutteraptabase/aptabase_flutter
Tauriaptabase/tauri-plugin-aptabase
.NET MAUIaptabase/aptabase-maui
Electronaptabase/aptabase-electron
Web(JS)aptabase/aptabase-js
Unreal Engineaptabase/aptabase-unreal
Unity Engineaptabase/aptabase-unity
NativeScriptnstudio/nativescript-plugins(nativescript-aptabase)

官方还提供「自建 SDK 指南」(主仓库 Wiki:How to build your own SDK)——SDK 本质上是按约定格式向 /api/v0/event 端点上报 JSON,接入自有客户端(如私有框架、嵌入式设备)的门槛不高。API 上报协议的字段与实测响应详见 《Aptabase API 使用详解》。

4.2 分析能力

依据官方 README 与仓库代码(查询日期 2026-10-30):

  • 核心指标面板:活跃用户、会话数、事件数、平均时长等,按时间区间对比展示;
  • 维度细分:操作系统、OS 版本、设备型号、地区(国家/区域)、应用版本、构建号、事件 Top 榜、事件属性(props)Top 榜等(对应服务端 stats 系列接口);
  • 实时类视图:代码中含 live sessions / live geo 相关接口,支撑近实时会话观察;
  • 共享与协作:应用可分享给其他账号(owner/editor 角色体系);
  • 功能开关(Feature Flags):主仓库代码含 /api/_flags 管理接口与 /api/v0/feature-flags 客户端取值接口(查询日期 2026-10-30 时代码已具备,属较新能力,使用前建议以官方文档确认当前状态);
  • 错误追踪(Error Reporting):主仓库代码含 /api/v0/error 上报接口与错误聚合接口(数据库迁移中含 AddErrorTracking,同属较新能力)。

4.3 与「隐私优先」相关的具体行为

  • 不采集唯一标识:SDK 不上报 IDFA/GAID/设备序列号等持久唯一 ID,用户识别以匿名会话为主;
  • 每日盐值轮换:见 3.1 节,限制跨天长期画像能力;
  • 邮件依赖轻量:默认不配置 SMTP 时,注册激活/登录邮件直接写入应用日志(LoggerEmailClient),内网/离线环境无邮件服务也能完成账号激活——这一行为在官方自托管指南中有明示(来源:aptabase/self-hosting README,查询日期 2026-10-30)。

五、快速开始(最小可用示例)

5.1 自托管三步走(官方口径)

官方自托管指南(来源:https://github.com/aptabase/self-hosting ,查询日期 2026-10-30)的最小流程:

  1. 准备一台装有较新版本 Docker 的主机;
  2. 获取官方编排文件并按需修改(重点改 BASE_URL、AUTH_SECRET 与两个数据库口令,官方默认值仅为示例占位);
  3. 启动服务后访问 http://localhost:8000 即可打开控制台。

首次使用没有预置账号:注册第一个账号后,激活链接会出现在应用日志中(未配置 SMTP 时),点击日志中的链接即完成激活。完整的逐条命令、端口规划、数据持久化与验证回显,见 《Aptabase Docker Compose 部署指南》;环境变量逐项说明见 《Aptabase 配置参数详解》。

5.2 云托管(免运维路线)

访问 https://aptabase.com 注册云托管账号,创建 App 后按平台引导集成 SDK 即可,无需自管 Postgres/ClickHouse。适合「只想用产品、不想养服务」的团队;数据主权与合规敏感场景则优先自托管。

六、适用场景与限制

6.1 适合的场景

  • 移动/桌面 App 产品分析:SDK 生态是同类自托管产品中最全的(Swift/Kotlin/Flutter/RN/游戏引擎等 11 个官方 SDK),游戏与桌面软件团队尤其受益;
  • 隐私合规驱动:面向欧盟用户、儿童类应用、企业内网工具等「不能埋唯一标识、不能送第三方 SaaS」的场景;
  • 轻量自托管:三个服务即可跑起全套(应用 + Postgres + ClickHouse),无消息队列、无对象存储等重依赖;
  • 需要私有化的事件资产:AGPL 开源 + 数据全落自建库,可自由做二次分析(ClickHouse 可直连查询)。

6.2 限制与注意

限制影响缓解方式
无语义化版本 Release无法锁定「某个稳定大版本」,升级跟随 main 镜像升级前备份两个数据库;固定 digest 拉镜像
自托管默认无 SMTP账号激活/登录链接只能从日志中取生产环境配置 SMTP 环境变量(见配置专题篇)
HTTPS 约束认证 Cookie 带 Secure 属性,纯 HTTP 访问会出现「登录成功但会话保持失败」前置 Nginx/Caddy 做 TLS 反代,BASE_URL 用 https://
无官方集群/高可用方案官方仅提供单实例自托管编排中小规模单机足够;超大规模需自行改造并评估
网站分析能力弱面向 App 事件模型,无网页浏览 PV/UV 常规报表体系网站分析场景改选 Umami/Plausible/Matomo(见第七章)
AGPL-3.0二次改造后对外提供服务需开源服务端法务评审;或仅原样使用

七、同类选型对比

7.1 量化对比表

下表为隐私优先/开源可自托管的产品分析(含 App 与网站分析)主流选项量化对比,星数与许可证均为 2026-10-30 经 shields.io 当日实测取证:

产品定位服务端技术栈事件存储许可GitHub 星数自托管部署复杂度App SDK 生态
Aptabase移动/桌面/Web 应用事件分析C#/.NETClickHouse(云版 Tinybird)AGPL-3.01.9k低(3 服务编排)11 个官方 SDK,全栈覆盖含游戏引擎
PostHog全功能产品分析(事件+回放+实验+Feature Flag)Python/Django + NodeClickHouseMIT 系自定义(shields 当日未识别,以其仓库 LICENSE 为准)41k高(组件多,官方主推 Helm/k8s)较全(iOS/Android/Flutter/RN/JS 等)
Umami网站分析(轻量 PV/UV)Node.jsPostgreSQL/MySQLMIT40k极低(1 应用 + 1 库)几乎无(面向 Web)
Plausible网站分析(合规轻量)Elixir/PhoenixClickHouseAGPL-3.030k低-中面向 Web
Matomo网站分析(传统全功能)PHPMySQL/MariaDBGPL-3.022k低(经典 LAMP)移动 SDK 为社区维护
Countly移动/网页产品分析(企业级)Node.js + MongoDBMongoDB 为主社区版 GPL-3.05.9k中-高较全(官方移动 SDK 多)
Mixpanel产品分析(闭源 SaaS)闭源闭源专有—(SaaS)无自托管很全

表内解读:星数反映社区热度而非能力高低——Umami/Plausible 的高星来自「网站分析 + 一键部署」的极广受众;PostHog 的 41k 来自全功能产品分析生态;Aptabase 星数虽最低,但在「App 事件分析 + 自托管轻量 + 隐私设计」这个细分组合上差异化明确,且是本表中唯一官方维护游戏引擎(Unreal/Unity)SDK 的产品。

7.2 「如果…则…」选型建议

  • 如果分析对象是移动 App / 桌面软件 / 游戏,且希望自托管、部署简单 → 选 Aptabase;
  • 如果需要会话回放、A/B 实验、复杂漏斗留存探索等全功能 → 选 PostHog(接受其部署复杂度与资源占用);
  • 如果分析对象是网站,追求极简与 MIT 宽松许可 → 选 Umami(见 《Umami 介绍与选型指南》);
  • 如果是网站分析 + 欧盟合规叙事、偏好 ClickHouse 存储 → 选 Plausible(见 《Plausible 介绍与选型指南》);
  • 如果需要传统网站分析的全量报表 + 插件生态 → 选 Matomo;
  • 如果是移动分析且能接受 MongoDB 依赖与企业版销售流程 → 看 Countly;
  • 如果不想自管任何设施、预算允许 → Aptabase 云托管或 Mixpanel。

说明:本站同期还测评过轻量计数器型的 GoatCounter(见 《GoatCounter 介绍与选型指南》)与隐私合规导向的 Offen(见 《Offen 介绍与选型指南》),两者更接近「网站访问统计」范畴,与 Aptabase 的 App 事件分析定位互补而非替代。

八、参考链接

  1. Aptabase 官网:https://aptabase.com
  2. 主仓库(服务端 + README):https://github.com/aptabase/aptabase
  3. 官方自托管指南仓库:https://github.com/aptabase/self-hosting
  4. 环境变量定义源码:https://github.com/aptabase/aptabase/blob/main/src/Features/EnvSettings.cs
  5. SDK 列表与自建 SDK 指南:https://github.com/aptabase/aptabase/wiki/How-to-build-your-own-SDK
  6. 星数/许可证取证徽章(查询日期 2026-10-30):https://img.shields.io/github/stars/aptabase/aptabase.json
  7. Releases Feed(当日实测为空 feed,验证「无 Release」结论):https://github.com/aptabase/aptabase/releases.atom