跳转至主要内容
Better Analytics

看清读者真正使用的是哪种语言

无 Cookie 的内容分析,直接内置在你已经上线的 SDK 中:按条目、语言、模型和国家统计浏览量,传输过程绝不阻塞页面。

按语言划分的浏览量 · 最近 30 天

41,381

English18,420
Deutsch9,106
Türkçe6,733
日本語4,218
Español2,904

Top entries

shipping-i18n-without-a-tms5,201
icu-message-format-guide3,884
hreflang-for-subfolders2,470
实时 · 无 Cookie,无指纹
A provider and a hook

useTrackView("content.view")

Only what you call

在 SSR 和静态构建中同样安全——不在浏览器环境时,追踪器不执行任何操作。

02 · Transport

sendBeacon

发送后即不再关心;页面跳转和标签页关闭都不影响。

Write-only public key

bi_pub_…

按语言划分的浏览量 · 最近 30 天

tr · content.view

按语言划分的浏览量 · 最近 30 天

de · content.view

Country, not IP

DE · TR · JP

Top entries

entryId · contentModel

Better Analytics

实时 · 无 Cookie,无指纹

01 · Two lines

A provider and a hook

只需包裹一次应用,然后在你关心的页面调用浏览 hook。其余的一切——批量发送、重试、页面卸载处理——都由 SDK 负责。

  • 在 SSR 和静态构建中同样安全——不在浏览器环境时,追踪器不执行任何操作。
  • 在 provider 之外调用?它只警告一次并自行停用,而不会崩溃。
  • 无效属性在开发环境会抛出错误,在生产环境会被剔除。
app/blog/[slug]/page.tsx
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

绝不阻塞页面,绝不丢失事件

三种传输方式按顺序依次尝试,所有失败都会被吞掉。一次分析调用不会拖慢任何东西,也不会向你的应用抛出错误。

sendBeacon

发送后即不再关心;页面跳转和标签页关闭都不影响。

on failure ↓

fetch(keepalive)

当 beacon 不可用时,用于小于 51.2 KB 的请求体。

on failure ↓

fetch

最后手段:普通 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

Get started

找出哪些语言真正值得翻译投入

安装 SDK,记录一次浏览,然后看着语言分布逐渐填满——评估期间免费。