跳转到内容

日志

日志页面提供了应用程序更新事件和诊断信息的详细历史记录。这对于监控更新过程、解决问题以及了解设备如何与 Capgo 交互至关重要。您可以通过点击您的应用然后点击”日志”标签(在一些较旧的屏幕截图或文档中以前称为”更新”)来访问它。

从那里您应该看到类似这样的页面,显示日志条目列表:

显示主界面的日志页面概览
日志页面概览

日志页面界面包括:

  1. 日志标签 - 访问日志视图的导航标签
  2. 重新加载按钮 - 用最新数据刷新日志列表
  3. 时间范围和操作过滤器 - 按日期范围和操作类型过滤日志(参见下面的部分)

每行显示:

  • 时间戳(UTC)
  • 设备 ID
  • 操作代码(发生了什么)
  • 版本名称(bundle 或 builtin

点击一行可跳转到设备详细页面查看完整历史记录。

您可以使用日期选择器按特定时间段过滤日志:

用于过滤日志的日期范围选择器
日期范围过滤器
  1. 快速预设 - 选择常用时间范围:最近 1 小时、3 小时、6 小时或 12 小时
  2. 开始时间 - 设置范围的自定义开始时间
  3. 结束时间 - 设置范围的自定义结束时间
  4. 日历 - 使用日历视图选择特定日期

点击”选择”应用您选择的日期范围,或点击”取消”关闭选择器。

操作下拉菜单允许您按特定事件类型过滤日志:

用于按事件类型过滤日志的操作过滤器下拉菜单
操作过滤器

可用的操作过滤器包括:

  • 设备心跳 - 设备的定期健康检查
  • 请求删除版本 - 当 bundle 版本被删除时
  • 重置为默认版本 - 当设备恢复到内置 bundle 时
  • 版本安装成功 - bundle 安装成功
  • 新版本已发送到设备 - 当 Capgo 向设备发送更新时
  • 版本安装失败 - 当 bundle 安装失败时

使用顶部的搜索框快速查找特定的操作类型。您可以选择多个操作来显示与所选任何类型匹配的日志。

时间 (UTC)设备 ID操作版本含义
2025-01-14 10:00:01A1B2C3get2.4.1设备向 Capgo 询问是否有可用更新
2025-01-14 10:00:03A1B2C3download_manifest_start2.4.1清单下载已启动;SDK 即将下载文件
2025-01-14 10:00:07A1B2C3download_402.4.1bundle 下载完成 40%
2025-01-14 10:00:12A1B2C3download_zip_complete2.4.1zip 下载完成
2025-01-14 10:00:13A1B2C3set2.4.1bundle 已安装并标记为下次运行
2025-01-14 10:05:00B9C8D7disableAutoUpdateToMajor1.9.0频道策略阻止了到 2.x 的跳跃
2025-01-14 10:05:05B9C8D7rateLimitedbuiltin设备达到请求限制;SDK 等待直到重启

为帮助您理解日志所传达的信息,以下是展示真实设备更新历程的示例序列:

这是日志中健康更新的样子:

时间设备 ID操作版本含义
10:00:01a1b2c3d4get1.2.0设备检查更新并收到版本 1.2.0 信息
10:00:02a1b2c3d4download_101.2.0下载开始,完成 10%
10:00:03a1b2c3d4download_501.2.0下载 50%
10:00:05a1b2c3d4download_complete1.2.0下载成功完成
10:00:06a1b2c3d4set1.2.0bundle 已安装并激活

当设备检查但已有最新版本时:

时间设备 ID操作版本含义
14:30:00e5f6g7h8noNew1.2.0设备已是最新版本,无需更新

当更新失败并且设备回滚时:

时间设备 ID操作版本含义
11:15:00i9j0k1l2get1.3.0设备收到更新信息
11:15:02i9j0k1l2download_complete1.3.0下载完成
11:15:03i9j0k1l2set1.3.0bundle 已设置
11:15:10i9j0k1l2update_fail1.3.0应用崩溃或未调用 notifyAppReady() - 触发回滚
11:15:11i9j0k1l2resetbuiltin设备恢复到内置版本

需要的操作:检查您的应用是否在成功初始化后调用 notifyAppReady()。详情参见插件文档

当网络问题阻止下载时:

时间设备 ID操作版本含义
09:45:00m3n4o5p6get1.2.0设备收到更新信息
09:45:01m3n4o5p6download_301.2.0下载开始但是…
09:45:15m3n4o5p6download_fail1.2.0下载失败(网络超时、连接丢失等)

需要的操作:设备将在下次应用启动时自动重试。除非频繁发生,否则无需操作。

当您的账户达到设备限制时:

时间设备 ID操作版本含义
16:00:00q7r8s9t0needPlanUpgrade-此设备在您升级或计费周期重置之前不会收到更新

需要的操作升级您的计划或等待下一个计费周期。

当频道设置阻止更新时:

时间设备 ID操作版本含义
12:00:00u1v2w3x4disableAutoUpdateToMajor2.0.0v1.x 上的设备无法自动更新到 v2.x(主版本跳跃被阻止)
12:05:00y5z6a7b8disableEmulator1.2.0检测到模拟器,频道阻止模拟器
12:10:00c9d0e1f2disableDevBuild1.2.0检测到开发构建,频道阻止开发构建

需要的操作:这些是有意的保护。如果您想允许这些更新,请修改您的频道设置

这些代码来自仪表板 API 使用的 stats_action 枚举(capgo/src/types/supabase.types.ts)。如果您在 UI 中看到新代码,它是由 SDK 或后端发出的,并已针对此列表进行验证。

正常路径和生命周期

代码含义
get设备向 Capgo 请求当前频道清单
download_manifest_start, download_manifest_complete清单下载开始/完成(用于增量或多文件 bundle)
download_zip_start, download_zip_completezip 归档下载开始/完成
download_10download_90下载进度里程碑
download_complete整个 bundle 已下载
setbundle 已准备好下次启动
reset设备恢复到内置 bundle
deletebundle 从本地存储中删除
uninstall检测到应用卸载
app_moved_to_foreground, app_moved_to_backgroundSDK 记录的应用生命周期事件
ping设备的健康/心跳检查
setChannel, getChannel通过 SDK 调用覆盖或获取频道

配置或策略阻止

代码为什么更新被阻止
disableAutoUpdate, disableAutoUpdateToMajor, disableAutoUpdateToMinor, disableAutoUpdateToPatch, disableAutoUpdateMetadata, disableAutoUpdateUnderNative频道策略禁止此 semver 跳跃
disablePlatformIos, disablePlatformAndroid平台在频道上被禁用
disableDevBuild, disableEmulator不允许开发构建或模拟器
cannotUpdateViaPrivateChannel, NoChannelOrOverride, channelMisconfigured频道选择或覆盖失败
missingBundle, cannotGetBundle清单引用了 Capgo 无法提供的 bundle
needPlanUpgrade组织达到其计划/设备限制
rateLimited请求过多;SDK 限制直到重启
blocked_by_server_url, backend_refusal, InvalidIp服务器端规则阻止了请求

下载/完整性/安装失败

代码含义
download_failbundle 下载失败(网络或响应错误)
download_manifest_file_fail, download_manifest_checksum_fail, download_manifest_brotli_fail清单文件无法检索或验证
checksum_fail, checksum_required完整性检查失败或缺少校验和
unzip_fail, directory_path_fail, canonical_path_fail, windows_path_fail文件系统或解压验证失败
decrypt_fail解密失败(加密的 bundle)
update_failbundle 已安装但应用从未调用 notifyAppReady();触发回滚
download_zip_* 后没有 set下载完成但安装阶段从未完成

➡️ 需要每个代码的更深入指导?参见**完整日志代码参考和调试指南**。

如果您点击特定的日志条目,它通常会将您带到设备页面。这允许您查看该特定设备的完整历史记录,这对于诊断特定于设备的问题或了解其更新历程非常有帮助。