如果本页面没能回答您的疑问,您可以去issues 区 (opens in a new tab)或 QQ 群 729013783 提问,或给我们发邮件。
业务问题
热更新究竟能否上架?
您可能听说过各种说法,但大量实践表明,热更新目前能够顺利上架 AppStore 和其他各种应用市场。唯一需要注意的是,在审核期间请不要发布热更新,不要让审核人员看到各种更新相关的提示和弹窗,即可顺利通过。
是否可以在海外使用?
可以的,国内外都有高速 CDN 节点。
哪些修改可以热更新?哪些不能?
我们把对应用的修改分为两类:
-
不可热更新 —— 原生修改,即所有需要
编译
后才能生效的修改:- 任何在 iOS 或者 Android 目录中的修改、增删。
- 任何含有原生代码的第三方组件的更新、修改。
-
可以热更新 —— 非原生修改,即所有
无需编译
,刷新即可生效的修改:- js 代码修改,包括第三方纯 js 组件的更新、修改。
- 可以在 js 代码中 require/import 的资源文件,例如图片。
需要注意的是,即便资源文件可以热更新,但这些热更新后的资源文件会以file://
协议的形式提供访问,某些读取资源文件的第三方可能并不支持file://
协议。
我是否可以搭建自己的热更新服务?
你可以单独使用本组件的原生部分(不包括 js 模块)和命令行工具中的bundle
、diff
、diffFromIpa
、diffFromApk
四个功能。
这些功能都不会使用我们的热更新服务,也无需注册或登录账号。但你可能要编写自己的 js 模块来与不同的热更新服务器通讯。
热更新成功完成,但是重启后又回滚了是怎么回事?
可以正常更新,但是重启后回滚,一般有两种可能的情况:
- 没有正确配置 bundleUrl
- (仅有 v10 以下版本存在此可能性,v10 及更高版本不存在此情况)没有正确调用 markSuccess (opens in a new tab)
如果你确定上述两个步骤都正确无误,请在issues 区 (opens in a new tab)给我们留言反馈。
热更新报错:“热更新已暂停,原因:编译时间戳与服务器记录不一致。”
当您每次编译产生一个原生包时,其中都会记录一个编译时间戳buildTime
(可以使用pushy parseIpa a.ipa
或是pushy parseApk a.apk
命令来查看)。如果您需要把这个包发给客户并希望使用热更新功能,那么就需要使用 upload 命令来上传到我们的服务器,而服务器端会记录这个包的版本号和编译时间戳以便后续比对记录。
举例来说,假如我已经上传了一个 1.0 版本原生包(1A包
),但后来由于种种原因我又重新打包了(1B包
)但没有上传,这两个包有相同的版本号,但会有不同的编译时间戳。此时有几种可能的情况:
- 我忘记上传过
1A包
,1B包
没有实质更改且还没有客户安装。此时应当放弃1B包
,只让客户下载安装1A包
。 - 我忘记上传过
1A包
,又生成了1B包
且已有客户安装。此时1A包
客户可以获取热更新,1B包
客户无法获取热更新。要使两批客户都能获取热更新,要么想办法通知1B包
客户装回1A包
,要么重新发布一个高于1.0
版本的原生包且上传到 pushy 服务器,并删除1.0
版本的记录,此时1A包
和1B包
的客户都会收到版本过期需要下载新版本的通知。 - 我知道上传过
1A包
,但我有原生方面的修改需要打了一个新的1B包
。此时若将1B包
上传到 pushy 服务器会提示版本验证错误,因为已经存在有相同的1.0
版本。所以需要首先更改原生版本号再次打包,并首先
将此新版本上传到服务器,然后
分发给客户。这样1.0版本
和新版本
可以并存且都可以获得热更新。
请谨记,任何时候生成原生包,请 1)先修改原生版本号,2)并上传到 pushy 服务器,才可以正常获得热更新。
如果您是高级版
、专业版
或大客户VIP版
客户,也可以考虑在管理后台的应用设置中启用忽略编译时间戳
。此选项仅对比版本号,不校验时间戳,可提供更宽容的热更策略,但可能消耗更多流量,适合需要管理多个分发渠道的客户。
付费问题
我应该选择哪个业务版本呢?
其实完全无需考虑,先从最高配额的专业版
开始体验(新用户注册验证通过后,将自动获得 7 天专业版
试用),各个版本的使用流程完全一致!当试用时间到期后,若当前版本的配额不能满足需求,可随时补差价升级到更高配额的版本。升级自动按天数计算差价,绝无额外费用。
目前仅有一项额外的付费专用功能,即忽略编译时间戳
设置(在管理后台的应用设置中),此选项仅对比版本号,不校验时间戳,可提供更宽容的热更策略,但可能消耗更多流量,适合需要管理多个分发渠道的客户。此功能目前仅支持高级版
、专业版
和大客户VIP版
。
我可以试用付费版本先评估一下效果吗?
新用户注册验证通过后,将自动获得 7 天专业版
试用。如您需要更长的评估时间,可将注册用户名、邮箱、公司(或个人)名称发送至 hi@charmlot.com ,标题注明“pushy 评估试用延长”,我们会为您酌情延长评估时间。
配额具体如何计算?
配额主要分为 4 种:
- 可创建的应用数量,注意 iOS 和 Android 版本记做不同的应用。
- 原生包数量及大小,不同应用分开计算。原生包指通过
pushy uploadIpa/uploadApk
命令上传到 Pushy 服务器上作为热更新起始版本的完整 apk/ipa 安装包。 - 热更包数量及大小,不同应用分开计算。热更包指通过
pushy bundle
所命令生成的 ppk 文件。注意这不是用户实际下载的更新文件,用户下载的是通过比对生成的增量 diff 文件(比 ppk 文件要小得多)。 - 每日总热更查询次数,所有应用累加计算。每次用户打开应用时,会向服务器查询是否有新的热更新。这个查询次数会被计入每日总热更查询次数。当日超过限额次数后,接口将不再返回新的热更新信息,直到次日重置。
这里有一些对包大小的优化建议可供参考。
以上 2、3 条为账户下每个应用单独计算,第 4 条为账户下所有应用累加计算。具体配额和费用由于运营成本可能会有调整,请以价格表页面为准。已购买的用户在续费前不受调整影响。
达到配额后还可以正常使用吗?
当应用、原生包、热更包数量达到配额限制后,您将无法执行相应的新增操作。但用户端仍可正常检查更新,下载已发布的更新。您可选择升级到更高配额,或是通过删除已不再使用的应用、原生包、热更包来使数量降低到配额以内,以便继续执行新增操作。
若原生包、热更包大小超过限额,则会导致上传失败。您可以选择升级到更高配额,或是想办法进行精简优化。
若当日热更检查次数超过限额,则会导致接口返回空数据。您可以选择升级到更高配额,或是优化热更策略,减少用户端检查更新的频率。
我可以单独升级某项配额吗?
我们暂时无法为某个单项配额提供升级选项,请选择更高版本的配额。如果专业版
配额仍然不能满足需求,请通过邮件 hi@charmlot.com 与我们联系,我们将根据您的个性化需求为您定制方案。
付费业务到期后不续费,现有应用还能否正常使用?
到期后按免费版额度执行。如您现有应用已超出配额,则必须通过删除操作降低到配额以内,方可执行新的操作(如创建应用,上传热更等),但不影响用户获取之前已发布的热更。
如何获取付费的专人技术支持?
请将您的用户名和订单截图发送至 hi@charmlot.com ,同时提供您希望的技术联系方式(QQ、微信等),核实后会有技术专员添加您为好友。
如何开具发票?
请将具体开票需求发送至 hi@charmlot.com ,并附上注册邮箱和订单截图。我们默认会回复普通电子发票到注册邮箱
,类目为软件服务。如需指定接受邮箱或手机,请在邮件正文
中注明。如需要邮寄纸质发票请注明邮寄地址,邮费为到付。
如邮件发送后三个工作日内未收到回复,请联系 QQ 客服 34731408。
可以使用银行转账付款吗?
可以的。请对照价格表,将对应版本的款项转账至:
公司名称 | 武汉青罗网络科技有限公司 |
---|---|
账号 | 8888888048825564 |
开户行名称 | 浙江网商银行 |
开户地区 | 浙江省杭州市 |
支行名称 | 浙江网商银行股份有限公司 |
联行号 | 323331000001 |
转账完成后请截图发送至 hi@charmlot.com ,并写明注册邮箱,我们将在一个工作日内开通对应服务。
可以按月付款吗?
需要月付的客户请联系 QQ 客服 34731408,月付价格为年付价格 / 8。如标准版当前价格为 800 元每年,则月付价格为 100 元每月。
月付客户需累计支付满 500 元后才能开具发票。大客户VIP版
不支持月付。
大客户方案
如果您的应用有大规模的活跃用户,日均所有应用累计总查询次数超过 100 万次,则建议选择我们专门针对大规模应用优化的大客户VIP版
。
大客户VIP版
在应用数量、原生包数量、热更包数量等方面配额与专业版
相同。
当前价格如下表:
服务版本 | 日均总热更查询次数 | 价格(元/年) |
---|---|---|
VIP1 | 100 万至 1000 万次 | 30000 |
VIP2 | 1000 万至 5000 万次 | 60000 |
VIP3 | 5000 万至 1 亿次 | 120000 |
VIP4 | 1 亿次以上 | 请联系客服 |
具体试用和对接请联系 QQ 客服 34731408