> For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.

# 常见问题

如果本页面没能回答您的疑问，您可以去[issues 区](https://github.com/reactnativecn/react-native-update/issues)或 QQ 群 729013783 提问，或给我们发[邮件](mailto:hi@charmlot.com)。

### 业务问题

#### 热更新究竟能否上架？

您可能听说过各种说法，但大量实践表明，热更新目前能够顺利上架 AppStore 和其他各种应用市场。唯一需要注意的是，在审核期间请不要发布热更新，不要让审核人员看到各种更新相关的提示和弹窗，即可顺利通过。

***

#### 是否可以在海外使用？

可以。Pushy 本身在国内外都部署有可用的 CDN 节点，能够满足大多数出海应用的热更新分发要求。

如果您的项目对海外合规、数据存放位置、运营主体隔离等方面还有额外要求，则可以考虑使用由不同公司实体独立运营的全球服务 [Cresc](https://cresc.dev/)。

***

#### 哪些修改可以热更新？哪些不能？

我们把对应用的修改分为两类：

- 不可热更新 —— 原生修改，即所有需要`编译`后才能生效的修改：
  - 任何在 iOS 或者 Android 目录中的修改、增删。
  - 任何含有原生代码的第三方组件的更新、修改。
- 可以热更新 —— 非原生修改，即所有`无需编译`，刷新即可生效的修改：

  - js 代码修改，包括第三方纯 js 组件的更新、修改。
  - 可以在 js 代码中 require/import 的资源文件，例如图片。

需要注意的是，即便资源文件可以热更新，但这些热更新后的资源文件会以`file://`协议的形式提供访问，某些读取资源文件的第三方可能并不支持`file://`协议。

***

#### 热更新成功完成，但是重启后又回滚了是怎么回事？

可以正常更新，但是重启后回滚，一般有两种可能的情况：

- 没有正确[配置 bundleUrl](/docs/getting-started.md#配置-bundle-url)
- （仅有 v10 以下版本存在此可能性，v10 及更高版本不存在此情况）没有正确[调用 markSuccess](https://v9--pushy-site.netlify.app/docs/integration#%E9%A6%96%E6%AC%A1%E5%90%AF%E5%8A%A8%E5%9B%9E%E6%BB%9A)

如果你确定上述两个步骤都正确无误，请在[issues 区](https://github.com/reactnativecn/react-native-update/issues)给我们留言反馈。

***

#### 热更新报错：“热更新已暂停，原因：编译时间戳与服务器记录不一致。”

当您每次编译产生一个原生包时，其中都会记录一个编译时间戳`buildTime`(可以使用`pushy parseIpa a.ipa`或是`pushy parseApk a.apk`命令来查看)。如果您需要把这个包发给客户并希望使用热更新功能，那么就需要使用 upload 命令来上传到我们的服务器，而服务器端会记录这个包的版本号和编译时间戳以便后续比对记录。

举例来说，假如我已经上传了一个 1.0 版本原生包（`1A包`），但后来由于种种原因我又重新打包了（`1B包`）但没有上传，这两个包有相同的版本号，但会有不同的编译时间戳。此时有几种可能的情况：

1. 我忘记上传过`1A包`，`1B包`没有实质更改且还没有客户安装。此时应当放弃`1B包`，只让客户下载安装`1A包`。
2. 我忘记上传过`1A包`，又生成了`1B包`且已有客户安装。此时`1A包`客户可以获取热更新，`1B包`客户无法获取热更新。要使两批客户都能获取热更新，要么想办法通知`1B包`客户装回`1A包`，要么重新发布一个`高于1.0`版本的原生包且上传到 pushy 服务器，并删除`1.0`版本的记录，此时`1A包`和`1B包`的客户都会收到版本过期需要下载新版本的通知。
3. 我知道上传过`1A包`，但我有原生方面的修改需要打了一个新的`1B包`。此时若将`1B包`上传到 pushy 服务器会提示版本验证错误，因为已经存在有相同的`1.0`版本。所以需要首先更改原生版本号再次打包，并`首先`将此新版本上传到服务器，`然后`分发给客户。这样`1.0版本`和`新版本`可以并存且都可以获得热更新。

请谨记，任何时候生成原生包，请 1)先修改原生版本号，2)并上传到 pushy 服务器，才可以正常获得热更新。

:::info
如果您是`高级版`、`专业版`或`大客户VIP版`客户，也可以考虑在管理后台的应用设置中启用`忽略编译时间戳`。此选项仅对比版本号，不校验时间戳，可提供更宽容的热更策略，但可能消耗更多流量，适合需要管理多个分发渠道的客户。
:::

***

#### 后台已经显示了原生包的「内容指纹」，为什么还是提示编译时间戳不匹配？

服务端记录的每个原生包有两个身份信息：

- **编译时间戳（buildTime）**：打包时写入二进制，`pushy uploadApk` / `uploadIpa` / `uploadApp` 上传时记录。
- **内容指纹（bundleHash）**：上传原生包时，CLI（`react-native-update-cli` ≥ 2.8.5）从包内提取内嵌的 JS bundle 计算出的 sha256。它描述的是「这个包里的 JS 是哪一份」，与 App 内集成的 SDK 版本无关。

检查更新时，服务端只有在**两边都有指纹**时才用指纹代替时间戳做判定：

1. 服务端记录的原生包带有内容指纹（用 ≥ 2.8.5 的 CLI 上传）；
2. 客户端在请求中上报了 bundleHash——App 内集成的 `react-native-update` **≥ 10.49.0** 才会上报。

两者缺一，就退回编译时间戳的严格比对。所以「后台有指纹却仍提示时间戳不匹配」几乎总是因为 App 里打包的 SDK 低于 10.49.0：指纹是 CLI 算出来的，旧版 SDK 并不知道它的存在。把 SDK 升级到 10.49.0 以上并重新打包发布后，同一份 JS 的重复打包会按指纹放行，不再被时间戳拦截。

排查方法：在管理后台的「实时数据」里，或用 MCP 的 `pushy.check_update.observed` 工具，查看该应用近期请求是记录在 `packageVersion_buildTime`（未上报指纹）还是 `packageVersion_bundleHash`（已上报指纹）维度下，并对照客户端 SDK 版本分布。`pushy.check_update.diagnose` 在判定被拦截时也会给出 `BUNDLE_HASH_NOT_REPORTED` 提示。

***

### 付费问题

#### 我应该选择哪个业务版本呢？

其实完全无需考虑，先从最高配额的`专业版`开始体验（新用户注册验证通过后，将自动获得 7 天`专业版`试用），各个版本的使用流程完全一致！当试用时间到期后，若当前版本的配额不能满足需求，可随时补差价升级到更高配额的版本。升级自动按天数计算差价，绝无额外费用。

目前仅有一项额外的付费专用功能，即`忽略编译时间戳`设置（在管理后台的应用设置中），此选项仅对比版本号，不校验时间戳，可提供更宽容的热更策略，但可能消耗更多流量，适合需要管理多个分发渠道的客户。此功能目前仅支持`高级版`、`专业版`和`大客户VIP版`。

***

#### 年付赠送的 Token 如何领取？

年付购买（含续费）`标准版`、`高级版`、`专业版`，分别赠送 $30、$100、$360 的 Token，可用于 GPT、Claude、DeepSeek、GLM、Kimi 等主流模型，官方直连、按量计费。领取步骤：

1. 前往 [36k.ai](https://36k.ai) 注册账号；
2. 回复支付确认邮件告知注册邮箱，或添加微信客服 `sunnylqm`；
3. 我们核对订单后将额度充入您的 AI 账户。

规则说明：仅整单年付赠送，月付、升级补差价、加购更新查询额度、试用均不赠送。额度充入后永久有效，仅限平台内使用，不可提现或转让。大客户方案请与商务另行约定。

> GPT、Claude 等模型计价参考官方美元挂牌价，但充值和消费时 1 元人民币等值 1 美元。

***

#### 我可以试用付费版本先评估一下效果吗？

新用户注册验证通过后，将自动获得 7 天`专业版`试用。如您需要更长的评估时间，可将注册用户名、邮箱、公司（或个人）名称发送至 [hi@charmlot.com](mailto:hi@charmlot.com) ，标题注明“pushy 评估试用延长”，我们会为您酌情延长评估时间。
试用期间只能选择续费专业版或升级到更高版本，如需购买其他版本，请等待试用期过期，或者联系客服去除试用。

***

#### 配额具体如何计算？

配额主要分为 4 种：

1. 可创建的应用数量，注意 iOS 和 Android 版本记做不同的应用。
2. 原生包数量及大小，不同应用分开计算。原生包指通过`pushy uploadIpa/uploadApk`命令上传到 Pushy 服务器上作为热更新起始版本的完整 apk/ipa 安装包。
3. 热更包数量及大小，不同应用分开计算。热更包指通过`pushy bundle`所命令生成的 ppk 文件。注意这不是用户实际下载的更新文件，用户下载的是通过比对生成的增量 diff 文件（比 ppk 文件要小得多）。
4. 每日总热更查询次数，所有应用累加计算。每次用户打开应用时，会向服务器查询是否有新的热更新。这个查询次数会被计入每日总热更查询次数。当日超过限额次数后，接口将不再返回新的热更新信息，直到次日重置。

> 这里有一些对[包大小的优化建议](/docs/bestpractice.md#优化原生和热更包体积)可供参考。

以上 2、3 条为账户下每个应用单独计算，第 4 条为账户下所有应用累加计算。具体配额和费用由于运营成本可能会有调整，请以[价格表](/pricing.md)页面为准。已购买的用户在续费前不受调整影响。

***

#### 达到配额后还可以正常使用吗？

当应用、原生包、热更包数量达到配额限制后，您将无法执行相应的新增操作。但用户端仍可正常检查更新，下载已发布的更新。您可选择升级到更高配额，或是通过删除已不再使用的应用、原生包、热更包来使数量降低到配额以内，以便继续执行新增操作。\
若原生包、热更包大小超过限额，则会导致上传失败。您可以选择升级到更高配额，或是想办法进行[精简优化](/docs/bestpractice.md#优化原生和热更包体积)。
若当日热更检查次数超过限额，则会导致接口返回空数据。您可以选择升级到更高配额，或是优化热更策略，减少用户端检查更新的频率。

***

#### 我可以单独升级某项配额吗？

如果您需要单独升级某些配额（需要达到高级版以上），请通过邮件 [hi@charmlot.com](mailto:hi@charmlot.com) 或 QQ 34731408 与我们联系，我们将根据您的个性化需求为您定制方案和报价。

***

#### 付费业务到期后不续费，现有应用还能否正常使用？

到期后按免费版额度执行。如您现有应用已超出配额，则必须通过删除操作降低到配额以内，方可执行新的操作（如创建应用，上传热更等），但不影响用户获取之前已发布的热更。

***

#### 如何获取付费的专人技术支持？

请将您的用户名和订单截图发送至 [hi@charmlot.com](mailto:hi@charmlot.com) ，同时提供您希望的技术联系方式（QQ、微信等），核实后会有技术专员添加您为好友。

***

#### 如何开具发票？

请将具体开票需求发送至 [hi@charmlot.com](mailto:hi@charmlot.com) ，并附上注册邮箱和订单截图。我们默认会回复普通电子发票到`注册邮箱`，类目为软件服务。如需指定接受邮箱或手机，请在`邮件正文`中注明。如需要邮寄纸质发票请注明邮寄地址，邮费为到付。
如邮件发送后三个工作日内未收到回复，请联系 QQ 客服 34731408。

***

#### 可以使用银行转账付款吗？

可以的。请对照[价格表](/pricing.md)，将对应版本的款项转账至：

| 公司名称  | 武汉青罗网络科技有限公司     |
| ----- | ---------------- |
| 账号    | 8888888048825564 |
| 开户行名称 | 浙江网商银行           |
| 开户地区  | 浙江省杭州市           |
| 支行名称  | 浙江网商银行股份有限公司     |
| 联行号   | 323331000001     |

转账完成后请截图发送至 [hi@charmlot.com](mailto:hi@charmlot.com) ，并写明注册邮箱，我们将在一个工作日内开通对应服务。

***

#### 可以按月付款吗？

需要月付的客户请联系 QQ 客服 34731408，月付价格为年付价格 / 8。如标准版当前价格为 960 元每年，则月付价格为 120 元每月。
月付客户需累计支付满 500 元后才能开具发票。`大客户VIP版`不支持月付。

如仅需增加检查额度，高级版及以上用户可以在管理后台单独购买检查额度。每 10 万次 / 日检查额度为 100 元每月，购买后账号会自动转为定制版，并支持自行续费。

***

#### 大客户方案

如果您的应用有大规模的活跃用户，日均所有应用累计总查询次数超过 100 万次，则建议选择我们专门针对大规模应用优化的`大客户VIP版`。
`大客户VIP版`在应用数量、原生包数量、热更包数量等方面配额与`专业版`相同。

当前价格如下表：

| 服务版本 | 日均总热更查询次数 | 价格（元/年） |
| ---- | --------- | ------- |
| VIP1 | 1000 万次   | 30000   |
| VIP2 | 5000 万次   | 60000   |
| VIP3 | 1 亿次      | 120000  |
| VIP4 | 1 亿次以上    | 请联系客服   |

具体试用和对接请联系 QQ 客服 34731408
