H5跨平台能力调研
各平台对H5的支持方式
目前主流的平台(iOS APP、Android APP、微信小程序、支付宝小程序、百度智能小程序、今日头条小程序(字节跳动小程序)等)对H5页面的支持是通过提供<web-view /> 组件的方式。<web-view /> 组件是一个可以用来承载H5网页的组件,会自动铺满整个小程序页面。
各平台<web-view /> 组件能力比较
微信小程序 | 支付宝小程序 | 百度小程序 | 字节跳动小程序 | iOS APP | Android APP | |
---|---|---|---|---|---|---|
平台入口: | 微信APP 首页 搜索 ,可直接进入小程序; 微信APP -> 发现 -> 小程序 搜索; | 支付宝APP 首页搜索,可直接进入小程序; 支付宝APP -> 朋友 -> 点“小程序”搜索 | 智能小程序目前仍处于入驻申请阶段。目前仅支持在百度APP中扫小程序的二维码进入 | 头条APP 首页 搜索,可直接进入小程序 头条APP -> 我的 -> 小程序 | - | - |
是否支持<web-view /> | √ 基础库 1.6.4 开始支持,低版本需做兼容处理 | √ 基础库 1.6.0 开始支持,低版本需做兼容 | √ | √ | √ | √ |
基础库当前版本 | 2.0.4 | 1.12.0 | - | - | - | - |
web-view 网页中支持的接口: | 返回小程序页面 判断客户端是否支持js 图像接口(拍照或上传、上传下载图片、获取本地图片等) 音频接口 智能接口 设备信息 地理位置 摇一摇周边 微信扫一扫 微信卡券 长按识别 | 导航栏(保留当前页面,跳转到应用内的某个指定页面 等) 拍照或从手机相册中选择图片 预览图片 获取用户当前的地理位置信息 使用支付宝内置地图查看位置 交互反馈 缓存 获取当前网络状态 分享当前页面,当执行my.startShare() 时会唤起当前小程序页面的分享功能。 唤起支付 向小程序发送消息 监听小程序发过来的消息 获取当前环境 | 返回智能小程序页面 拨打电话 打开小程序 登录 设置剪贴板 获取网络类型 预览图片 分享 使用内置地图打开地点 获取地理位置 拍照或上传 | 返回小程序页面 | - | - |
小程序和web-view网页的双向通信: | 支持web-view网页向小程序发送消息, 但是只会在特定时机(小程序后退、组件销毁、分享)触发并收到消息。 | 目前已支持了双向通信能力。 即:支持web-view网页向小程序发送消息,并且小程序能立即触发并接收到消息,并且立即向H5发送消息。 | 支持web-view网页向小程序发送消息, 但是只会在特定时机(小程序后退、组件销毁、分享)触发并收到消息。 | × 不支持 | - | - |
web-view网页是否支持支付: | × web-view 组件暂不支持微信支付 | √ web-view 组件支持唤起支付宝支付 | × 不支持 | × 不支持 | √ 可以调原生的方法由原生发起支付 | √ 可以调原生的方法由原生发起支付 |
web-view网页需要登录时的鉴权: | √ 支持。 web-view网页需要登录时,跳回小程序进行鉴权,鉴权完成后再返回web-view网页。 | √ 支持。同微信。 | √ 支持。同微信。 | √ 支持。同微信。 | 调原生方法登录 | 调原生方法登录 |
详细文档 | 微信小程序 web-view | 支付宝小程序 web-view | 百度智能小程序 web-view | 字节跳动小程序 web-view | - | - |
备注 | - | - |