“update” ping¶
当浏览器更新准备应用且已正确应用后,此选择退出 ping 将从 Firefox 桌面发送。
结构
{
type: "update",
... common ping data
clientId: <UUID>,
profileGroupId: <UUID>,
environment: { ... },
payload: {
reason: <string>, // "ready", "success"
targetChannel: <string>, // "nightly" (only present for reason = "ready")
targetVersion: <string>, // "56.0a1" (only present for reason = "ready")
targetBuildId: <string>, // "20080811053724" (only present for reason = "ready")
targetDisplayVersion: <string>, // "56.0a1" (only present for reason = "ready")
previousChannel: <string>, // "nightly" or null (only present for reason = "success")
previousVersion: <string>, // "55.0a1" (only present for reason = "success")
previousBuildId: <string>, // "20080810053724" (only present for reason = "success")
}
}
payload.reason¶
此字段支持以下值
ready
表示 ping 在更新下载并标记为准备处理后生成。对于非分阶段更新,这在下载完成后并经过验证后立即发生,而对于分阶段更新,这在开始分阶段步骤之前发生。success
表示在浏览器重新启动并正确应用更新后生成 ping。
payload.targetChannel¶
从中获取更新的 Firefox 频道(仅对原因“ready”的 ping 有效)。
payload.targetVersion¶
浏览器要更新到的 Firefox 版本。遵循与 application.version 相同的格式(仅对原因“ready”的 ping 有效)。
payload.targetBuildId¶
浏览器要更新到的 Firefox 构建 ID。遵循与 application.buildId 相同的格式(仅对原因“ready”的 ping 有效)。
payload.targetDisplayVersion¶
浏览器要更新到的 Firefox 显示版本。这可能包含与targetVersion
不同的值,例如,对于Beta
频道,此字段将报告 beta 后缀,而targetVersion
将仅报告版本号。
payload.previousChannel¶
应用更新之前配置文件所在的 Firefox 频道(仅对原因“success”的 ping 有效)。这可以是null
。
payload.previousVersion¶
浏览器要更新自的 Firefox 版本。遵循与 application.version 相同的格式(仅对原因“success”的 ping 有效)。
payload.previousBuildId¶
浏览器要更新自的 Firefox 构建 ID。遵循与 application.buildId 相同的格式(仅对原因“success”的 ping 有效)。
预期行为¶
以下是update
ping 的条件和预期行为列表
每次下载更新后,并在更新经过验证后,都会生成此 ping
对于查看过隐私政策的用户,
update
ping 会立即发送;对于未查看过隐私政策的用户,
update
ping 会保存到磁盘,并在显示政策后发送。
如果更新下载重试或发生其他回退:
update
ping 不会多次生成,而只会生成一次,即在下载完成后并经过验证后。如果禁用自动更新:当用户强制进行手动更新时,不会生成
update
ping。如果更新应用失败:在某些情况下,客户端将下载相同的更新 blob 并为相同的目标版本和构建 ID 生成新的
update
ping,但文档 ID 不同。如果构建更新频道包含 CCK 关键字,则更新 ping 不会报告它,而是报告普通频道名称(例如,
mozilla-cck-test-beta
将报告为beta
)。如果在应用更新之前发生配置文件刷新,则不会生成原因
reason = success
的更新 ping。如果更新应用于与下载时不同的新配置文件,则不会生成原因
reason = success
的更新 ping。如果安装较新的浏览器版本覆盖旧版本,则不会生成原因
reason = success
的更新 ping。