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