当前位置:   article > 正文

URL Scheme的使用

url scheme用处

前言:

最近公司业务发展迅速,要求在各种手机浏览器中、各种app的webview中打开移动手厅app客户端。

什么是 URL Scheme?

android中的scheme是一种页面内跳转协议,是一种非常好的实现机制,通过定义自己的scheme协议,可以非常方便跳转app中的各个页面;通过scheme协议,服务器可以定制化告诉App跳转那个页面,可以通过通知栏消息定制化跳转页面,可以通过H5页面跳转页面等。

URL Scheme应用场景:

客户端应用可以向操作系统注册一个 URL scheme,该 scheme 用于从浏览器或其他应用中启动本应用。通过指定的 URL 字段,可以让应用在被调起后直接打开某些特定页面,比如商品详情页、活动详情页等等。也可以执行某些指定动作,如完成支付等。也可以在应用内通过 html 页来直接调用显示 app 内的某个页面。综上URL Scheme使用场景大致分以下几种:

  • 服务器下发跳转路径,客户端根据服务器下发跳转路径跳转相应的页面
  • H5页面点击锚点,根据锚点具体跳转路径APP端跳转具体的页面
  • APP端收到服务器端下发的PUSH通知栏消息,根据消息的点击跳转路径跳转相关页面
  • APP根据URL跳转到另外一个APP指定页面

问题

  1. 某些浏览器或webview支持iframe中src方式,还有些不支持
  2. 某些浏览器或webview支持a标签中href方式,还有些不支持会报这个错 net::ERR_UNKNOWN_URL_SCHEME

解决思路和代码

  1. 需要去腾讯开放平台注册一个URL Scheme
  2. 经过测试ios 9系统以上版本 safari 不支持iframe的方式跳转。所以ios系统 都用a标签的方式来做吧。
  3. 如果有业务是一进页面需要拉起客户端需要写一个定时器例如3秒以后还没有唤起app就执行下载app的操作。如何监听到app被唤起可以在页面中使用window监听pagehide事件,在监听事件中来清除那个下载app的定时器。
  1. window.addEventListener('pagehide', function() {
  2. //清理下载app的定时器
  3. }, false);
  4. 复制代码
  1. 安卓webview中最好用iframe的方式跳转,使用a标签方式如果没有安装要拉起的app会报ERR_UNKNOWN_URL_SCHEME的错。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/553182
推荐阅读
相关标签
  

闽ICP备14008679号