TapCub 正式上线:统计、分析、客服一个平台免费用
术语表

SDK 是什么?含义、SDK 和 API 的区别,以及统计 SDK 怎么工作

SDK 是给软件添加某种能力的一套代码和工具。SDK、API 和库的区别,统计 SDK 帮你处理了什么,主要类型,以及接入前怎么评估。

陈屿 审核人 卢卡斯·海斯 又称 软件开发工具包 最后更新 2026 年 11 月 5 日 术语表

一句话回答

SDK(软件开发工具包)是一套库、文档、示例代码和工具,让开发者把某个平台或服务的能力加进自己的软件,通常封装了该服务的 API。

什么是 SDK?

SDK(Software Development Kit,软件开发工具包)是一套代码和工具,让开发者不用从零写起,就能给自己的软件加上某种能力。典型的 SDK 包括在代码里调用的库、文档、示例代码,有时还有构建工具或演示应用。

支付 SDK 加上收款,地图 SDK 加上地图,统计 SDK 加上事件追踪:记录用户在网站或 App 里做了什么,再发送给统计服务。

SDK、API 和库的区别

名称是什么例子
API让服务做某件事的约定接口,通常走 HTTP带 JSON 请求体的 POST /events
库完成一件事的可复用代码,由你的程序调用日期格式化库
SDK围绕某个平台或服务的一整套工具:库、文档、示例、工具,常常封装了 API一个会把事件打包、再调用采集 API 的 Android 统计 SDK
框架搭好结构、反过来调用你的代码并控制流程React、Flutter

一句话:API 是门,SDK 是让你方便又安全地用这扇门的工具箱。你总可以直接调统计 API,SDK 帮你处理那些容易出错的部分。

统计 SDK 帮你做了什么

以 TapCub 的客户端 SDK 为例,统计 SDK 通常负责:

  • 自动事件。 启动、前后台切换、页面浏览、点击和崩溃,不用为每个都写埋点代码。
  • 排队和批量发送。 事件先存在本地,再分批发送。TapCub 的 Android SDK 本地队列最多保留 1 万条事件、7 天,离线期间的数据也不会丢。
  • 退避重试。 遇到限流、服务端错误和网络失败,从 1 秒到 5 分钟逐步重试,而不是丢掉这一批。
  • 身份。 设备或访客 ID,以及把匿名行为关联到已知用户的登录调用。
  • 同意时机。 两步启动:先只保存配置,不采集、不联网;用户同意隐私政策之后才开始发送。
  • 远程配置。 在控制台改采样或开关,不用发新版 App。

TapCub Android SDK 的初始化能看出这两步:

class App : Application() {
    override fun onCreate() {
        super.onCreate()
        TapCub.preInit(this, TapCubConfig(siteKey = "YOUR_SITE_KEY"))
    }
}

// 用户同意隐私政策之后
TapCub.init()

统计 SDK 的类型

类型运行在TapCub 里的例子
网页浏览器client.js 脚本;Vue、React、Next.js、Nuxt 复用它
原生 AppiOS 和 Android 应用Swift 包、Maven Central 上的 Android 库
跨平台一套代码多个平台React Native、Flutter、uni-app 包
小程序微信、支付宝、抖音小程序一个 npm 包,按平台分入口
服务端你的后端Node.js、PHP、Python、Java、Go 库,发送服务端事件

客户端 SDK 能直接看到用户行为,但可能被拦截、延迟或丢失;服务端 SDK 发送订单、注册这类业务事件很可靠,但看不到点击。大多数产品两种都用,见服务端追踪。

接入 SDK 之前怎么评估

  1. 体积和性能。 给 App 或页面增加多少体积?会不会在主线程上做事?
  2. 权限和数据。 读取哪些设备数据?能不能关掉一部分?对照你的隐私政策检查。
  3. 离线表现。 会不会排队重试?最多保留多少?
  4. 同意控制。 能不能等用户同意再采集,同时不丢冷启动?
  5. 维护情况。 发版记录、支持的系统版本、未解决的问题、更新日志。
  6. 退路。 能不能远程关闭,或者改用 API 发送事件?

常见的 SDK 问题

  • 初始化太晚。 首屏之后才初始化,会丢掉启动和首屏浏览。
  • App ID 没登记。 很多服务会悄悄丢弃不认识的 App 发来的数据。
  • SDK 重复。 两个统计 SDK,或同一个初始化了两次,事件会被重复计算。
  • 版本漂移。 线上的旧版本 App 会在几个月里一直保持旧的埋点行为,埋点方案里要考虑到。

另见:原生应用。

参考资料

这个解释清楚吗?

我们会根据反馈修改和补充这篇内容。

陈屿

技术工程师

专注统计代码、SDK 与接口集成文档,从接入验证到问题排查,帮助开发者更顺畅地完成实施。

常见问题

常见追问

大家看完定义后最常问的几个问题。

还有其他问题?

直接和 TapCub 团队聊聊——工作日通常几小时内回复。

SDK 是什么的缩写?

Software Development Kit,软件开发工具包:用于在某个平台上开发、或给软件加上某项服务的库、文档、示例和工具。

SDK 和 API 有什么区别?

API 是服务开放的接口;SDK 是替你调用这个接口的工具包,还提供批量发送、重试、鉴权等便利。

发送统计数据一定要用 SDK 吗?

不一定。可以直接调用统计 API,但 SDK 会处理排队、重试、身份和自动事件这些手写容易出错的部分。

往 App 里加 SDK 安全吗?

一般是安全的,前提是检查它读取哪些数据、能否关闭部分功能、怎么处理用户同意,以及维护得好不好。

在你自己的网站上看这个数字

加一行脚本就能开始,网站和 App 都能接,几分钟内就能看到第一批报表。

看清数据,找到增长。

每一次点击,都有数据依据。装好一行代码,1 分钟看到第一批数据。

无需信用卡 · 统计与客服都有免费版 · 统计无 Cookie