常见问题

最近修改时间2020-05-28 15:33:22

如果本页面没能回答您的疑问,您可以去issues区提问或给我们发邮件

业务问题

哪些修改可以热更新?哪些不能?

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

  • 不可热更新 —— 原生修改,即所有需要编译后才能生效的修改:

    • 任何在iOS或者Android目录中的修改、增删。
    • 任何含有原生代码的第三方组件的更新、修改。
  • 可以热更新 —— 非原生修改,即所有无需编译,刷新即可生效的修改:

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

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

我是否可以搭建自己的热更新服务?

你可以单独使用本组件的原生部分(不包括js模块)和命令行工具中的bundlediffdiffFromIpadiffFromApk四个功能。

这些功能都不会使用我们的热更新服务,也无需注册或登录账号。但你可能要编写自己的js模块来与不同的热更新服务器通讯。

如果您有兴趣搭建私有云服务,可以邮件联系我们

(由于不明确的原因),iOS 上使用热更新审核被拒怎么办?

首先请确定你集成了最新版本,提交审核期间请不要发布任何热更新,不要做任何与更新相关的弹出提示。若以上都照做了仍然由于种种不明确的原因被拒(有一定几率),则可以按此步骤单独屏蔽 iOS 端(react-native-update版本需 >= 5.3.2):

  1. 如果 RN 版本>=0.60,在项目根目录下编辑或创建 react-native.config.js,添加如下内容

    // react-native.config.js
    module.exports = {
    dependencies: {
    'react-native-update': {
      platforms: {
        ios: null, // 阻止ios模块自动链接
      },
    },
    },
    };
  2. 如果在原生代码端尚未配置,则跳过下面文档中的 ios 端的配置。如果已经配置,则按文档的步骤反向操作(添加的 ios 代码删去)。
  3. 如果是 0.60 以上版本或使用了 cocoapods,在 ios 目录中再次运行 pod install,确保 Podfile 和 Podfile.lock 中都没有'react-native-update'。如果 RN 版本<0.60,则运行react-native unlink react-native-update
  4. 在 js 代码里调用 checkUpdate()方法前,判断 Platform.OS,如果是 ios 平台则直接 return 跳过。

XCode编译时报错 "BZ2bzRead", referenced from 等

在工程target的Build Phases->Link Binary with Libraries中加入libz.tbd、libbz2.1.0.tbd

热更新成功完成,但是重启后又回滚了是怎么回事?

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

如果你确定上述两个步骤都正确无误,请在issues区给我们留言反馈。

付费问题

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

其实完全无需考虑,先从免费版开始体验,各个版本功能完全一致!当前版本的配额不能满足需求时,可随时补差价升级到更高配额的版本。升级自动按天数计算差价,绝无额外费用。

配额具体如何计算?

配额主要分为4种:

  1. 可创建的应用数量,注意iOS和Android版本记做不同的应用。
  2. 原生包数量及大小。原生包指为上传到Pushy服务器上作为热更新起始版本的完整apk/ipa安装包。
  3. 热更包数量及大小。热更包指通过pushy bundle所命令生成的ppk文件。注意这不是用户实际下载的更新文件,用户下载的是通过比对生成的增量diff文件(比ppk文件要小得多)。
  4. 用户每日下载更新的次数。用户打开应用,检查到有更新,触发下载行为,记为一次(无论下载、更新成功与否)。

以上2、3、4条为针对每个应用单独计算。具体配额和费用由于运营成本可能会有调整,请以价格表页面为准。已购买的用户在续费前不受调整影响。

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

当应用、原生包、热更包数量达到配额限制后,您将无法执行相应的新增操作。但用户端仍可正常检查更新,下载已发布的更新。您可选择升级到更高配额,或是通过删除已不再使用的应用、原生包、热更包来使数量降低到配额以内,以便继续执行新增操作。
若原生包、热更包大小超过限额,则会导致上传失败。您可以选择升级到更高配额,或是想办法进行精简优化,或是分几次进行热更新等等。
每日用户下载更新享受一定次数的高速通道满速下载,下载次数达到后将转入低速通道,次日恢复额度。

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

我们暂时无法为某个单项配额提供升级选项,请选择更高版本的配额。如果专业版本配额仍然不能满足需求,请通过邮件hi@charmlot.com与我们联系,我们将根据您的个性化需求为您定制方案。

付费业务到期后不续费,现有应用还能否正常使用?

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

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

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

如何开具发票?

请将具体开票需求发送至hi@charmlot.com,并附上注册用户名和订单截图。