1.静默推送(Background Update Notification)
静默推送,可实现一些小的需求。它无需app启动就能实现。低优先级,每个小时超过一次的部分,会被限制。
常规推送,最大支持4KB(4096 bytes);语音推送,最大支持5KB;将有效内容构造为JSON字典并将其作为HTTP / 2消息的主体内容发送。
推送内容例子:
{
"aps" : {
"content-available" : 1
},
"acme1" : "bar",
"acme2" : 42
}
"content-available" : 1 是必须加的; alert, sound, or badge可以根据需求添加
参考链接https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html
2.JSPatch平台
在开源JSPatch基础上做了混淆及禁止调用私有Api处理,支持修复功能。
缺点:要花钱才能下载SDK
平台:https://jspatch.com/
开源篇:https://github.com/bang590/JSPatch/wiki/JSPatch-%E5%9F%BA%E7%A1%80%E7%94%A8%E6%B3%95
实现原理:https://github.com/bang590/JSPatch/wiki/JSPatch-%E5%AE%9E%E7%8E%B0%E5%8E%9F%E7%90%86%E8%AF%A6%E8%A7%A3
3.原生+Weex
Write once, use Anywhere
Weex原理
1.Weex 文件分包打包成单个 JSBundle 文件
2.发布到发包服务器上,通过热更新 push 到用户的客户端,交由WeexSDK执行解析
3.SDK 中的JS Framework执行 Bundle 脚本生成 Virtual DOM
4.Virtual DOM 经由各端执行环境Weex Runtime解析翻译成执行指令
5.Native RenderEngine接收到指令后执行渲染操作,作出渲染出完整的界面
基于weex的考拉移动端动态化方案
https://juejin.im/post/5a534b64518825732d7f725e
网易严选 App 感受 Weex 开发
https://segmentfault.com/a/1190000011027225
4.原生+React Native
Learn once, write anywhere
开发资源多,社区活跃,迭代版本很多了,相对稳定