HarmonyOS 请问目前支持 自定义deeplink 跳转吗?

app 的跳转链接是:igetapp://search/result,想在HarmonyOS 也实现从其他 app 或者网页跳转到我们的 app,目前看到的 scheme 只能定义为:https,想自定义deeplink 怎么实现呢?

HarmonyOS
2024-12-23 14:01:47
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
zbw_apple

浏览器支持Deeplink链接的打开能力。应用想要响应Deeplink拉起,需要注册viewData action和scheme+host,这样才能匹配到。如果有多个应用注册了相同的scheme+host,就会拉起应用选择框,让用户选择某个应用。

Deeplink响应的声明,需要在module.json5文件的接收Ability中skills项中增加action和uris内容:

"skills": [
{
  ...
  "actions": [
  "ohos.want.action.viewData" // 声明Deeplink接收的Action,这个是固定的
  ...
  ],
  "uris": [
  {
    "scheme": "store",  // scheme尽量做到唯一 ,仅设置此协议头就可以跳转
  "host": "test.xxx.com" // host不与其他应用相同,这样可以减少冲突
  }
  ...
  ]
  ...
}
]
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.

需要注意deeplink链接的scheme协议头必须网页拉起的链接的应用配置的保持一致。

另外浏览器不会对deeplink链接做任何解析或处理,只会原封不动的传递给拉起的应用。因此第三方应用只需要自己的网页端和应用端协商好url规则,自己去做解析打开对应页面即可

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>测试页面</title>
    <script>
        function goToLink() {
            window.open('store://appgallery.huawei.com/app/detail?id=C1229.....4278976')
        }
    </script>
</head>
<body>
<div align="center">
    <button type="button" id="btn_navi" onclick="goToLink()">跳转应用市场</button>
</div>
</body>
</html>
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
分享
微博
QQ
微信
回复
2024-12-23 14:53:38


相关问题
HarmonyOS 自定义组件支持链式调用
404浏览 • 1回复 待解决
HarmonyOS 自定义CustomDialog 跳转问题
448浏览 • 1回复 待解决
Swiper的indicator后续会支持自定义
2480浏览 • 1回复 待解决
HarmonyOS 关于自定义协议跳转APP
530浏览 • 1回复 待解决
HarmonyOS 自定义弹窗点击跳转问题
492浏览 • 1回复 待解决
HarmonyOS 弱引用不支持自定义对象
529浏览 • 1回复 待解决
桌面图标shorcut功能支持自定义
743浏览 • 1回复 待解决
HarmonyOS ArkTS是否支持自定义注解
586浏览 • 1回复 待解决
HarmonyOS 是否支持自定义装饰器?
675浏览 • 1回复 待解决
HarmonyOS 组件是否支持自定义事件
546浏览 • 1回复 待解决
HarmonyOS 是否支持自定义升级弹窗
366浏览 • 1回复 待解决
HarmonyOS ArkWeb是否支持自定义UserAgent
901浏览 • 1回复 待解决
是否支持自定义装饰器
2476浏览 • 1回复 待解决