如何用Deeplink为快应用提供多个快速直达入口

元宇宙
• 阅读 4107

开发者将快应用上架应用市场后,希望能有多个入口直达快应用,从而提高其快应用的曝光率,带来更多的流量。而快应用开放的标准deeplink能力可以满足开发者的需求。

应用场景

Deeplink可以应用在如下场景:

  • 社交分享

将快应用的Deeplink链接,通过社交软件进行分享,用户点击链接就可以直接打开快应用。

  • 广告推广

将快应用的Deeplink链接,放入广告推广页面,用户点击链接就可以直接打开快应用。

  • 运营活动

进行运营活动时,如果使用快应用来吸引用户参与到活动中,可以将快应用的Deeplink链接嵌入到运营活动宣传页面,从而方便用户的参与。

格式支持

快应用Deeplink支持以下链接格式:

推荐使用

hap://app/<package>/[path][?key=value]
https://hapjs.org/app/<package>/[path][?key=value]

仅适用于华为手机

hwfastapp://<package>/[path][?key=value]
  • package:应用包名,必选。
  • path:应用内页面的path,可选,不填写的话,默认为首页。
  • key-value:需要传给页面的参数,可选,可以有多个。传递的参数值有可能被其他应用获取,建议不要传递安全敏感度较高的数据。

开发过程

以下我们以跳转包名为com.huawei.quickapp的快应用demo为例,讲解Deeplink的使用。

通过快应用demo的manifest.json文件,我们可以获得如下信息:

  • 包名:com.huawei.quickapp。
  • 应用名称:demo。
  • 页面:包含Hello和Detail两个页面,其中Hello为首页。

如何用Deeplink为快应用提供多个快速直达入口

在快应用中调用Deeplink打开快应用demo的示例代码如下:

import router from '@system.router'
router.push({
uri: 'hap://app/com.huawei.quickapp’
})

在网页中通过点击链接打开快应用demo的示例代码如下:

<html>
   <head>
       <meta charset="UTF-8">
       <title></title>
   </head>
   <body>
       <a href=“hap://app/com.huawei.quickapp”>跳转到快应用demo</a>
   </body>
</html>

以上例子没有配置跳转的具体页面,所以默认进入快应用demo的首页Hello,如果想调整到Detail页面,代码可以修改为:

import router from '@system.router'
router.push({
uri: 'hap://app/com.huawei.quickapp/Detail’
})

如果还需要向Detail页面传递参数,可以将参数以key-value形式拼接在后面,多个参数使用&连接。假设向Detail页面传递source和name参数,则代码修改为:

import router from '@system.router'
router.push({
         uri: 'hap://app/com.huawei.quickapp/Detail?source=net&name=aa’
})

接入Detail页面后获取参数值的代码如下:

onShow: function () {
         var nameValue=this.name;
         var sourceValue=this.source;
}

开发完,可以在本地对Deeplink进行测试,从而验证跳转链接的准确性。

注意:测试前,请确保华为快应用加载器中有目标快应用的使用记录。

测试

方法一:使用 android adb 命令(电脑需配置好adb环境)

adb shell am start -a android.intent.action.VIEW -d hap://app/com.huawei.quickapp/Detail

注意:使用命令测试不适用传递多个参数的场景。

方法二:在一个本地网页中添加需测试的Deeplink超链接

<!DOCTYPE html>
<html>   
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
  
    <body>
         <script type="text/javascript">
             window.location.href="hap://app/com.huawei.quickapp/Detail?source=net&name=aa";
        </script>  
  </body>
</html>

欲了解更多详情,请参阅:

快应用开发指导文档:https://developer.huawei.com/consumer/cn/doc/development/quickApp-Guides/quickapp-whitepaper

Deeplink接入指南:https://developer.huawei.com/consumer/cn/doc/development/quickApp-Guides/quickapp-develop-deeplink

参与开发者讨论请到Reddit社区:https://www.reddit.com/r/HMSCore/

下载demo和示例代码请到Github:https://github.com/HMS-Core

解决集成问题请到Stack Overflow:https://stackoverflow.com/questions/tagged/huawei-mobile-services?tab=Newest


原文链接:https://developer.huawei.com/consumer/cn/forum/topicview?tid=0203357572509390834&fid=18
作者:鼓楼赵又廷

点赞
收藏
评论区
推荐文章
CuterCorley CuterCorley
4年前
uni-app开发 常见异常和解决办法
前言uniapp是一个基于Vue.js开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/淘宝)、快应用等多个平台。在开发过程中可能会遇到一些异常,这些异常及其解决办法总结如下。1.调用微信开发者工具报错IDEserviceportdis
CuterCorley CuterCorley
4年前
uni-app开发 经验和技巧总结
前言uniapp是一个基于Vue.js开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/淘宝)、快应用等多个平台。在开发过程中可能会用到一些经验和技巧,可以加速开发,归纳如下。1.自定义组件模板在开发时,很多情况下需要自定义组件,在自
Wesley13 Wesley13
3年前
LNMP环境应用
企业LNMP环境应用Llinux丨Nnginx丨Aapache丨Pphp丨TtomcatNginx和Apache都是Web应用服务器相对来说,Nginx处理静态数据快,Apache处理动态快Nginx对系统资源占用小,Apache资源占用高Nginx用得是
Wesley13 Wesley13
3年前
VARCHART XGantt机器故障时进行正确的资源调度
VARCHARTXGantt(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.evget.com%2Fproduct%2F188)是一款功能强大的甘特图控件,其模块化的设计让您可以创建满足需要的应用程序。XGantt可用于.NET,ActiveX和ASP.NET应用程序,可以快
Wesley13 Wesley13
3年前
VARCHART XGantt 用例:链接作为HTML5 Gantt中的依赖项可视化
VARCHARTXGantt(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.evget.com%2Fproduct%2F188)是一款功能强大的甘特图控件,其模块化的设计让您可以创建满足需要的应用程序。XGantt可用于.NET,ActiveX和ASP.NET应用程序,可以快
Wesley13 Wesley13
3年前
VARCHART XGantt 用例研究:APS改进您的交货时间承诺
VARCHARTXGantt(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.evget.com%2Fproduct%2F188)是一款功能强大的甘特图控件,其模块化的设计让您可以创建满足需要的应用程序。XGantt可用于.NET,ActiveX和ASP.NET应用程序,可以快
Stella981 Stella981
3年前
Redis能干啥?细看11种Web应用场景
Redis能干啥?细看11种Web应用场景下面列出11种Web应用场景,在这些场景下可以充分的利用Redis的特性,大大提高效率。1.在主页中显示最新的项目列表。Redis使用的是常驻内存的缓存,速度非常快。LPUSH用来插入一个内容ID,作为关键字存储在列表头部。LTRIM用来
Wesley13 Wesley13
3年前
VARCHART XGantt VSW资讯:HTML5甘特图中的各个资源工作时间
VARCHARTXGantt(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.evget.com%2Fproduct%2F188)是一款功能强大的甘特图控件,其模块化的设计让您可以创建满足需要的应用程序。XGantt可用于.NET,ActiveX和ASP.NET应用程序,可以快
订单逆向履约系统的建模与PaaS化落地实践 | 京东云技术团队
本文重点介绍了京东零售电商业务在订单逆向履约上面的最佳技术实践,阅读本文,读者可以了解到整个快退平台新系统设计的底层逻辑,也可以参考本文并结合实际场景,将方案应用在遗留债务系统改造、业务和技术建模中。
融云IM即时通讯 融云IM即时通讯
8个月前
融云IM干货丨uni-app是什么
uniapp是一个使用Vue.js开发跨平台应用的前端框架。开发者可以通过编写一套代码,将应用发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。uniapp的主要特点
GeorgeGcs GeorgeGcs
2个月前
【HarmonyOS 5】桌面快捷方式功能实现详解
鸿蒙开发能力HarmonyOSSDK应用服务鸿蒙金融类应用(金融理财一、前言在移动应用开发中,如何让用户快速触达核心功能,是目前很常见的功能之一。鸿蒙系统提供的桌面快捷方式(Shortcuts)功能,允许开发者为应用内常用功能创建直达入口,用户通过长按应用