URL 跳转快应用的使用方法说明

快应用 Mar 29, 2019

官方开发文档:
https://doc.quickapp.cn/tutorial/platform/url-jump-configuration.html?h=url

URL 跳转配置是指在 H5 页面中可以通过调用相应 js 接口实现到快应用的跳转。

1、接入方式

使用本功能,需要在网页中嵌入以下 js(联盟与华为请分别处理),支持 HTTP 与 HTTPS 访问。

联盟版本:
<script type="text/javascript" src="//statres.quickapp.cn/quickapp/js/routerinline.min.js"></script>
华为版本:
<script type="text/javascript" src="//appimg.dbankcdn.com/hwmarket/files/fastapp/router.fastapp.js"></script>

2、接口使用

2.1、跳转快应用

appRouter(packageName, path, params, confirm)

参数说明:

参数名 类型 必填 说明
packageName String 应用的包名,和 manifest.json 中保持一致。
path String 跳转的页面路径,对应于 manifest.json 中 page 的 path 字段。
如果传入的是 "/",则跳转到 path 为 "/" 的页面;如果无此页面,则跳转到首页。
更多信息,请参见 manifest.json 中 router 部分的说明。
params Object 传递的参数。
如果不传 params,会默认使用当前网页 url 的参数作为 params 的值。
参数的获取方式,参见页面切换及参数传递
confirm String 在跳转确认弹窗中显示的名称。
当不传或者为 false 时,表示无需用户确认直接跳转;当为其他非空值时,表示跳转时需要用户确认。

示例

<!DOCTYPE html>
<html>
<head>
  <title>URL跳转配置</title>
  <script type="text/javascript" src="//statres.quickapp.cn/quickapp/js/routerinline.min.js"></script>
</head>
<body>
<!-- 调起应用 -->
<script type="text/javascript">
  // 无需用户确认的调用方式,xxx.yyy.zzz为包名
  appRouter("xxx.yyy.zzz", "/Home", { a: 1, b: 'abc' });
  // 需要用户确认的调用方式,xxx.yyy.zzz为包名
  appRouter('xxx.yyy.zzz', '/Home', { a: 1, b: 'abc' }, '显示给用户的应用名称');
</script>
</body>
</html>

2.2、检测平台是否支持服务 实验性功能

channelReady(callback)

参数说明:

参数名 类型 必填 说明
callback function 检测的回调函数,无论检测到是否支持服务,都会执行回调函数。
平台支持服务则传入实参 true,否则传入实参 false。

示例

<!DOCTYPE html>
<html>
<head>
  <title>URL跳转配置</title>
  <script type="text/javascript" src="//statres.quickapp.cn/quickapp/js/routerinline.min.js"></script>
</head>
<body>
<!-- 检测平台是否支持服务 -->
<script type="text/javascript">
  // 通过传递回调函数实现
  channelReady(function (bAvailable) {
    alert("是否存在框架服务:" + bAvailable)
  });
</script>
</body>
</html>

3、异常情况处理

3.1、无法跳转

1)传参错误:这种情况,请自行确认传参是否正确;

2)系统不支持:由于该功能涉及系统多个模块的修改,如果系统未集成,或者是集成异常的情况下,url也会失败;

此种情况下可以先使用hap跳转方式验证引擎是否正常,如果Hap跳转成功,而url跳转失败,说明在该手机上url跳转功能集成有问题,可以向客服人员反映,以便厂商及时修复;

<a href="hap://app/com.hybrid.demo.sample">hap跳转</a>

3)浏览器不支持:部分浏览器可能添加类似于广告拦截的功能,这个时候可以试试其他浏览器,只要有一个能跳转,就说明功能是OK的;

3.2、HTTPS不支持

部分CP会直接使用如下方式实现跳转:

http://thefatherofsalmon.com/?i=com.xxx.yyy&p=testPages...

这种方式与上述JS集成方式本质上一样的,但不能将上述协议改成 HTTPS,也就是说如下方式将无法跳转成功:

https://thefatherofsalmon.com/?i=com.xxx.yyy&p=testPages...

这是因为厂商基本上只对HTTP协议做了处理。

vivo developer

快应用引擎、工具开发者、快应用生态拓展达人(vivo)。

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.