通用 ping 格式¶
这定义了遥测 ping 的顶层结构。它包含不同 ping 类型之间共享的基本信息,这使得服务器端能够正确存储和处理原始 ping。
它还包含可选的进一步信息
环境数据,其中包含与测量结果相关联的重要信息
clientId
,一个 UUID,用于识别配置文件并允许对数据进行面向配置文件的相关性分析profileGroupId
,一个 UUID,用于识别单个设备上配置文件的组并允许对数据进行面向用户的相关性分析
注意:由于隐私问题,并非所有 ping 类型都提交这些信息。这以及可以与其关联的数据在数据收集策略下进行检查。
最后,该结构还包含payload,这是为相应的ping 类型提交的特定数据。
结构
{
type: <string>, // "main", "activation", "optout", "saved-session", ...
id: <UUID>, // a UUID that identifies this ping
creationDate: <ISO date>, // the date the ping was generated
version: <number>, // the version of the ping format, currently 4
application: {
architecture: <string>, // build architecture, e.g. x86
buildId: <string>, // "20141126041045"
name: <string>, // "Firefox"
version: <string>, // "35.0"
displayVersion: <string>, // "35.0b3"
vendor: <string>, // "Mozilla"
platformVersion: <string>, // "35.0"
xpcomAbi: <string>, // e.g. "x86-msvc"
channel: <string>, // "beta"
},
clientId: <UUID>, // optional
profileGroupId: <UUID>, // optional
environment: { ... }, // optional, not all pings contain the environment
payload: { ... }, // the actual payload data for this ping type
}