This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.
基于使用量的定价
编辑页面
了解 Expo 如何对超出套餐配额的客户实施基于使用量的计费,以及如何监控您的 EAS Build 和 EAS Update 使用情况。
Expo 对付费计划客户超出其计划额度的部分采用基于用量的计费方式。这使客户能够按需使用,而无需担心限制或承担合同义务。
基于用量的计费适用于 EAS Build 和 EAS Update,并按月结算。我们会在你的账户账单中提供当前用量及任何超额费用的估算。
用量定价如何工作
EAS Build
对于 EAS Build,在较高优先级级别执行的单个构建会收取固定费用。该费用按月汇总,并在计费周期结束时收取;如果你取消计划,则可能会更早收取。
注意:在开始任何工作之前就被取消的构建不会收费。
Starter、Production、Enterprise 和 Legacy 计划的订阅者可获得 EAS Build 积分。这些积分可用于抵扣构建成本。它们会在计费周期开始时重置,并在该计费周期结束时过期。有关受支持构建平台和可用资源类别的定价计划,请访问我们的定价页面了解更多信息。
示例:EAS Build 积分使用情况(Production 计划)
假设某个账户订阅了 Production 计划,在一个计费周期内有 15 次 medium Android 构建,以及 10 次 large iOS 构建:
由于 Production 计划中包含该积分,因此该订阅者为其 25 次构建支付 $0。
示例:EAS Build 积分超额(Production 计划)
再看一个超出积分上限的例子:
在此场景中,订阅者为 100 次构建支付 $35,而不是 $260,因为 EAS Build 积分抵扣了 $225。
EAS Update
**提示:**使用定价计算器来估算你的 EAS Update 用量。
EAS Update 的按用量定价包含两个指标:每月活跃用户数和全球边缘带宽。
“已更新用户”指在一个计费周期内至少下载过一次更新的唯一用户数量,也称为“每月活跃用户”(MAU)。全球边缘带宽表示超出订阅计划基础带宽配额之外所使用的带宽总量。如果你的每月活跃用户数超过了计划的基础 MAU 配额,则每多 1 位用户可包含 40 MiB 的全球边缘带宽。
注意:无论该用户下载了多少个更新,每个每月活跃用户在一个计费周期内只计一次。在 EAS Update 的语境中,“用户”被视为设备上你应用的一个唯一安装实例。
每个计划都包含一定数量的每月活跃用户和全球边缘带宽。这些数值因计划而异。要查看最新数值,请参阅我们的定价页面。
示例:EAS Update 使用情况(Starter 计划)
假设某位 Starter 计划订阅者通过 EAS Update 向 10,000 名用户发布了 20 个更新,每个更新大小为 5 MiB。该计划订阅包含 3,000 名每月活跃用户和每月 100 GiB。结果,该订阅者的额外使用费用将是:
在 10,000 名用户中,3,000 名已包含在 Starter 计划内。因此,7,000 名会作为按用量计费的一部分被收费。为 7,000 名已更新用户付费还包括约 273.4 GiB(7000 用户 * 40 MiB / 1024)。
全球边缘带宽的计算如下:
如果同一订阅者在当前计费周期内向同样的 10,000 名用户发送第 21 个 5 MiB 更新,他们只需为所使用的额外带宽付费。
这是因为 Expo 只会按唯一的每月活跃用户计费。因此,该订阅者的额外使用费用将是:
如果同一订阅者使用的是 Production 计划,那么他们将支付 $0,因为 Production 计划包含 50,000 名每月活跃用户和 1 TiB(1024 GiB)。因此,不会产生额外的带宽使用费用。
监控用量
注意:显示的账单估算可能会延迟最多 24 小时(一天)。
要查看当前计费周期的用量摘要,请前往账单 > 使用情况。你会找到 EAS Build、EAS Update 以及其他服务的用量摘要。
EAS Build 使用历史
要查看当前或之前计费周期的详细 EAS Build 用量:
- 点击导航菜单中的 使用情况。
- 在 EAS Build 部分下,你会找到按平台和资源类别划分的构建次数及已执行构建的详细信息。
EAS Update 使用历史
要查看当前或之前计费周期的详细 EAS Update 用量:
- 点击导航菜单中的 使用情况。
- 在 EAS Update 部分下,你会找到已更新用户和全球边缘带宽的详细信息。
用量通知
当你的账户达到计划中包含的 EAS Build 积分的 80% 和 100% 时,Expo 会向账户的所有者和管理员发送电子邮件通知。这有助于你在超额费用发生前提前预估。
这些通知默认已启用。你可以在EAS 仪表板的电子邮件通知页面管理通知偏好。
如何优化构建用量
你可以使用 EAS Update 和开发构建来测试和部署新代码,而无需创建全新的构建。这将帮助你更快迭代并减少构建用量。
对于大多数应用来说,JavaScript 代码比底层原生代码和配置变化更频繁。如果你每次代码变更都重新构建一次,可以考虑使用 EAS Update 来利用 JavaScript 与原生代码之间不同的迭代频率。这样,你就可以将这些变更作为更新来发布。
在使用持续集成(CI)/持续部署(CD)构建预发布代码时,你可以通过自动化“仅在原生代码发生变化时才构建”的流程来减少不必要的用量。你可以在 CI/CD 中使用 Expo Fingerprint 创建一个工作流来检测原生代码何时发生变化,并且仅在其发生变化时执行构建。否则,如果原生代码没有变化,则发布更新。
开发构建可以运行任何与其原生运行时兼容的 EAS Update。如果你在多个测试渠道中使用 EAS Update,你可以让测试人员或测试设备使用同一个开发构建,从而减少创建额外构建的需求。
如何优化更新用量
在使用 EAS Update 时,你可以管理某些资源以选择包含或排除。这可以减少从更新服务器上传或下载的资源数量,以及所使用的全球边缘带宽。
为了优化存储和带宽使用,你可以选择排除未被修改的资源。例如,未发生变化的图片或视频可以被排除。被排除的资源不会上传到更新服务器,也不会被应用下载。不过,需要确保不属于某次更新的资源已包含在应用的原生构建中。
注意:如果应用已经下载过某个也包含在新更新中的资源,那么应用不会重新下载该资源。这也不会增加你账户的带宽用量。
你可以使用 npx expo-updates assets:verify <dir> 检查所有必需资源是否都已包含在更新中。更多信息请参见资源选择与排除。