常见问题

最近修改时间2020-09-21 02:25:81

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

业务问题

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

热更新报错:“此版本存在但编译时间戳不匹配。请勿以同一版本号重复打包”

当您每次编译产生一个原生包时,其中都会记录一个编译时间戳。如果您需要把这个包发给客户并希望使用热更新功能,那么就需要使用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服务器,才可以正常获得热更新。

付费问题

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

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

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

新用户注册验证通过后,将自动获得 7 天专业版试用。如您需要更长的评估时间,可将注册用户名、邮箱、公司(或个人)名称发送至hi@charmlot.com,标题注明“pushy 评估试用延长”,我们会为您酌情延长评估时间。

配额具体如何计算?

配额主要分为 4 种:

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

这里有一些对包大小的优化建议可供参考。

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

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

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

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

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

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

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

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

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

如何开具发票?

请将具体开票需求发送至hi@charmlot.com,并附上注册邮箱和订单截图。我们默认会回复电子发票到注册邮箱,类目为咨询服务。如需指定接受邮箱或手机,请在邮件正文中注明。如需要邮寄纸质发票请注明邮寄地址,邮费为到付。

可以使用银行转账付款吗?

可以的。请对照价格表,将对应版本的款项转账至:

公司名称 武汉青罗网络科技有限公司
开户行名称 中国建设银行股份有限公司武汉吴南支行
账号 42050126693900000513

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