在 Capgo 中,有 3 个计费指标需要了解
- 用户的
- 存储空间
- 带宽
每种计费方式略有不同
用户数
每当用户下载并打开您的 Capacitor JS 应用时,应用会向 Capgo 后端发送请求,以检查是否有可用更新。
在此过程中,应用会发送少量信息,其中最关键的是: DeviceID
DeviceID设备上生成的唯一 ID (UUID)。 从插件版本 v5.10.0、v6.25.0 和 v7.25.0 开始,该 ID 现在可以在应用重新安装后保持不变(安全地存储在设备存储中)。在这些版本之前,每次重新安装应用都会重置该 ID。
每当您的账户收到一个新的 Device ID 时,它会被保存到数据库中。
每当旧的 DeviceID 设备请求更新(打开应用)时,其记录就会被更新(更新数据库中的 updated_at 字段)。
这些数据保存在两个地方:
- device 表,包含
update_at值 - app_stats 表,其中的每日计数器代表今日活跃且本月尚未活跃过的设备数量。
关于套餐额度,我们采用第一种方法,因为它 100% 可靠;而图表展示则采用第二种方法。 你可以在账户首页查看这两项数据:
- 图表中显示的是第二种方法
- 应用列表中显示的是第一种方法。
Capgo 在计算用量时不会计入模拟器和 dev build。请注意,试用期结束后,这类设备占比不能超过 3%,否则你的账户将被锁定,直到问题解决。
Capgo 还会为你进行数据过滤。如果你配置了 CI/CD 将版本发送至 Google PLAY,Google 每次都会在 20 多个真实设备上运行你的 Capacitor app。在新 bundle 发布的前 4 小时内,我们会拦截 Google 数据中心的 IP,以防止其被计入用量。
每月数据都会从零开始重新计算。
- 在每次设备请求时,在我的数据库中创建或更新设备
- 将本月内此前未活跃的活跃设备数量添加到每日计数器中。
第一种方法显示:900+ 用户 而你账户中第二种方法显示为 200+ 用户 关于套餐额度,我使用 100% 可靠的第一种方法;而图表展示则使用第二种方法。 你可以在账户首页查看这两项数据。
存储空间
每次你 upload 一个 bundle 时,该数值都会增加相应的 upload 大小。
此数据仅与你的 upload 大小相关,app 体积越小,你就越容易维持在当前的套餐额度内。
如果达到或接近上限,可以用 CLI 列出你的 bundles:
npx @capgo/cli@latest bundle list
想看看能清理什么:移除 bundle 会释放存储空间,但不会删除统计信息。
准备好清理时,用这个命令批量移除 bundles:
npx @capgo/cli@latest bundle cleanup
PS:这对地球有好处,也能帮你省钱 💪。
你也可以使用
--external的 upload 来使用你的存储,且不计入套餐。
带宽
这个值的计算稍微复杂一点,但思路和存储一样。
每当用户下载一个 bundle,这个数值就会增加相应的下载大小。
这个数据只和你的下载大小有关。你的 Capacitor JS app 体积越小,就越容易保持在套餐额度内。
需要注意的一点是,Capgo 看不到实际下载的大小,只能看到 bundle 的大小。所以,如果你的 bundle 很大,而且很多用户下载失败,你很快就会达到上限。
保持在套餐额度内的最佳方法是让 bundle 体积小。如果做不到,就给用户显示下载进度条,让他们知道还剩多少要下载。
未来,Capgo 将优化下载系统,让单次有更多机会下载到 bundle。
接着看 Capgo 中的使用量统计方式
如果你正在使用 在 Capgo 中如何计算用量 要规划 live update 的交付,请将其与 Capgo Live Updates 用于 Capgo Live Updates 中的产品工作流, 概览 用于 Overview 中的实现细节, 功能 用于 Features 中的实现细节, 更新行为 有关 Update Behavior 中的实现细节,请参阅 更新类型 关于 Update Types 中的实现细节。