开发者将快应用上架应用市场后,希望能有多个入口直达快应用,从而提高其快应用的曝光率,带来更多的流量。而快应用开放的标准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打开快应用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
作者:鼓楼赵又廷

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

  1. 网上引流怎么加人快?教你如何快速引流!

    网上引流怎么加人快?教你如何快速引流! 这里是我结合一些做微商的朋友和网上的分享总结的,微信迅速引流的方法,有些方法我个人看着都觉得损,大家可以取其精华.总结这些也花了我小半天的时间,我们话不多说,马 ...

  2. 2018甲骨文云大会:如何用“灵全快”抢占市场?

     关注ITValue,查看企业级市场最新鲜.最具价值的报道! 本文经授权转载自微信公众号云科技时代,ID:CloudTechTime 自数据库巨头甲骨文公司从2010年开始全面向云转型以来,就在业界掀 ...

  3. 芒芒分期换“套路”以VIP会员费收割用户,海尔金控旗下快捷通提供支付通道

    据用户反映,在一款贷款超市里下载了"芒芒分期"借款APP,填完身份信息和银行卡后,就被强制划走298元VIP会员费.这位用户称,本来是想借钱的,没想到反被扣钱了,而且现在无法登陆该 ...

  4. 让PHP更快的提供文件下载 【转】

    一般来说, 我们可以通过直接让URL指向一个位于Document Root下面的文件, 来引导用户下载文件. 但是, 这样做, 就没办法做一些统计, 权限检查, 等等的工作.  于是,  很多时候,  ...

  5. 让PHP更快的提供文件下载

    为什么80%的码农都做不了架构师?>>>    转载于:https://my.oschina.net/fsmwhx/blog/110825

  6. 如何用python最快的获取大文件的最后几行

    工作中经常会遇到处理日志文件的问题:为了得到日志的最新状态,我们需要获取日志文件的最后部分行来做判断.那么,这种情况下我们应该怎么做呢? 1)常规方法:从前往后依次读取 步骤:open打开日志文件. ...

  7. c++最快简洁提供http文件服务

    code 1.使用httlib 为什么使用这个,包含一个头文件,做到启动server 2.函数 #include "httplib.h"void HttpServer() {std ...

  8. 计算机专业见刊快的普刊,可以快速见刊的普刊有哪些?

    可以快速见刊的普刊有哪些? 发布时间:2020-04-02 16:29浏览: 次 大家都知道在普刊上发表论文见刊较快,一般普刊发表论文,部分期刊最快2个月.在普刊上发表论文,多数在三个月内会有录用与否 ...

  9. 阿里云镜像站搜索功能,提供仓库软件包快速搜索下载

    OPSX镜像站支持centos,centos-altarch,centos-vault,debian,epel,fedora,opensuse,repoforge,ubuntu 9个仓库软件包的搜索. ...

  10. 如何更好更快地完成设计之快速原型

    以下内容由Mockplus团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具. "一副好图胜过千言万语",这句老话道出了用户界面原型的核心内容--使用各种可视化 ...

最新文章

  1. RESTful之排序
  2. @noi.ac - 488@ cleaner
  3. linux 第三章红帽子,红帽子 Linux_命令全解
  4. 管理学习笔记(1)——高效团队的五大关键
  5. 服务器常用的状态码及其对应的含义如下
  6. python引入redis_实操演练解读非关系型数据库—Redis
  7. 腾讯终于良心了!桌面混乱有救了
  8. level shifter和isolation cell如何摆放
  9. java面向对象编程培训_Java面向对象编程简介
  10. 功能测试的类型之用户验收测试
  11. HDMI热插拔原理及信号解析
  12. 中国剩余定理求解同余线性方程组(模数互素和非互素的情况)
  13. 云计算简介:云计算定义、云计算优势、云计算分类、云计算历史
  14. javascript-轮播图
  15. ubuntu18使用preseed文件定制ISO镜像实现自动化安装
  16. 基于Vue+Node的商城后台管理系统
  17. win10设置虚拟内存_电脑配置强,虚拟内存没有用?教你这样设置,瞬间提升流畅度!...
  18. 安装MikTeX-latex
  19. xxl-Job某一环境机器无法自动注册
  20. 南农沈其荣团队Science子刊揭示番茄早期微生物组功能决定成年健康

热门文章

  1. PLM教程:CAXA 3D 与 PLM 的集成应用
  2. MediaRecorder之视频录制
  3. 使用Java程序发送邮件|发送有附件的邮件|进行邮件群发
  4. 如何在Tomcat中发布网站
  5. win7 去除快捷方式小箭头
  6. 可该变某一属性的GAN:Hijack-GAN
  7. 360 html快捷,360极速浏览器如何设置键盘快捷键?
  8. 一周“金”榜:CSDN创作者收益周排行榜(1月3日到1月9日)
  9. pytorch动态调整学习率之Poly策略
  10. android自己监听home键,Android中监听Home键的4种方法总结