看清读者真正使用的是哪种语言
无 Cookie 的内容分析,直接内置在你已经上线的 SDK 中:按条目、语言、模型和国家统计浏览量,传输过程绝不阻塞页面。
按语言划分的浏览量 · 最近 30 天
41,381
Top entries
01 · Two lines
A provider and a hook
只需包裹一次应用,然后在你关心的页面调用浏览 hook。其余的一切——批量发送、重试、页面卸载处理——都由 SDK 负责。
- 在 SSR 和静态构建中同样安全——不在浏览器环境时,追踪器不执行任何操作。
- 在 provider 之外调用?它只警告一次并自行停用,而不会崩溃。
- 无效属性在开发环境会抛出错误,在生产环境会被剔除。
import { useTrackView } from
"@better-i18n/content/adapters/nextjs"
useTrackView("content.view", {
entryId: post.id,
contentModel: "blog",
entrySlug: post.slug,
language: post.locale,
})content.view · tr · blog · 1 event
sent with sendBeacon · 0ms on the main thread
02 · Transport
绝不阻塞页面,绝不丢失事件
三种传输方式按顺序依次尝试,所有失败都会被吞掉。一次分析调用不会拖慢任何东西,也不会向你的应用抛出错误。
发送后即不再关心;页面跳转和标签页关闭都不影响。
on failure ↓
当 beacon 不可用时,用于小于 51.2 KB 的请求体。
on failure ↓
最后手段:普通 POST。
仍然失败 → 静默丢弃
03 · What gets tracked
Explicit by default
隐私策略是一项设计决策,而不是你需要去找的开关:除非你的代码主动发送,否则不会收集任何数据。
Only what you call
没有自动页面浏览统计,没有指纹识别,没有 Cookie。事件之所以存在,是因为你的代码要求它存在。
Project context
组织和项目由 API 密钥推导得出,因此负载保持很小。
Your own properties
entryId、contentModel、language、framework——你传入的任何基本类型值。对象和数组会被拒绝。
Country, not IP
国家代码来自 Cloudflare 的边缘元数据;IP 从不被存储。
04 · Key safety
一个不会泄露你数据的公开密钥
与 PostHog、Mixpanel 和 Vercel Analytics 采用的威胁模型一致:嵌入的密钥只能写入事件,没有任何读取权限。
Write-only public key
bi_pub_* 密钥只能发送事件,别无其他——它无法读取内容或分析数据。
Rate limited at the edge
按 IP 和按项目的限流,再加上 WAF 规则:泄露的密钥最多只能发垃圾请求,无法窃取数据。
Scoped to one project
密钥只针对单个 projectId 校验——跨项目读取不可能实现。
First-party proxy
将 track 端点重写到你自己的域名下,让广告拦截器只看到第一方请求。
FAQ
团队上线前常问的问题
“我们的目标是:在中国建立一个新的世界遗产。该技术的应用领域非常广泛!”

Samet Selcuk
创始人,Hellospace