最新消息:

H5跳转App或网页的方案总结(使用webapp页面打开本地客户端应用[安卓或IOS])

前端技巧 feifei 5945浏览
H5跳转App或网页的方案总结
问题描述:
乘客端H5页面需要根据是否安装了司机端,跳转到不同页面。
如果安装:打开司机端。
如果未安装:打开下载链接。
由于微信js sdk没有提供检测功能,所以导致问题貌似无解。
新解决方案:
Android可以通过配置AndroidManifest.xml, 支持接收网页中的超链接跳转。
例如:
<intent-filter>
<action android:name=”android.intent.action.VIEW”/>
<category android:name=”android.intent.category.BROWSABLE”/>
<category android:name=”android.intent.category.DEFAULT”/>
<data android:scheme=”http” android:host=”api.ffasp.com” android:path=”/app/start”/> 
</intent-filter>
大部分使用场景,标红处的scheme会写成app名称,例如walle,但理论上完全支持所有协议的URL。
所以,当配置为http协议时,即可自动兼容浏览器和app两种模式,H5页面只要跳转固定连接即可,不用再依赖于JS SDK的安装检测
使用场景:
Native APP通过配置Scheme,很大程度上可以减少H5和Native的界限,也支持产品层面松耦合的架构。例如:
(1) 扫描二维码跳入App的任何界面。
(2) H5和App之间跳转。
(3) App页面间动态跳转,只需要在下发的数据中配置不同的链接,即可跳转到不同页面。
注意事项:
(1)app内跳转,最好配置成app私有协议,避免弹出选择框。例如:<data android:scheme=”walle” android:host=”start”/>
(2)配置http协议时,path部分要规划好,避免和别的网页冲突。例如: 把app目录配置为 Native App的专用链接。
<data android:scheme=”http” android:host=”api.ffasp.com” android:path=”/app/start”/>
感谢@巴菲涛 总结分享,版权归 @巴菲涛 所有

 

转载请注明:飞飞的个人网站 » H5跳转App或网页的方案总结(使用webapp页面打开本地客户端应用[安卓或IOS])