HarmonyOS 请问目前支持 自定义deeplink 跳转吗?app 的跳转链接是:igetapp://search/result,想在HarmonyOS 也实现从其他 app 或者网页跳转到我们的 app,目前看到的 scheme 只能定义为:https,想自定义deeplink 怎么实现呢?
本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。
HarmonyOS 请问目前支持 自定义deeplink 跳转吗?app 的跳转链接是:igetapp://search/result,想在HarmonyOS 也实现从其他 app 或者网页跳转到我们的 app,目前看到的 scheme 只能定义为:https,想自定义deeplink 怎么实现呢?
本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。
HarmonyOS 支持自定义 deeplink 跳转。
在 HarmonyOS 中,你可以通过自定义 deeplink 的 scheme 来实现从其他 app 或者网页跳转到你的 app。虽然系统支持使用如 "https" 这样的标准 scheme,但同样允许开发者定义任意形式的 scheme,以实现灵活的应用间跳转。
要实现自定义 deeplink 跳转,你需要进行以下步骤:
定义自定义 scheme:
配置目标应用:
module.json5
配置文件中,声明 URL skill,并指定自定义的 scheme。配置示例:
{
"module": {
"abilities": [
{
"name": "EntryAbility",
"skills": [
{
"entities": ["entity.system.browsable"],
"actions": ["ohos.want.action.viewData"],
"uris": [
{
"scheme": "igetapp",
"host": "search",
"path": "/result"
}
]
}
]
}
]
}
}
scheme
字段被设置为 "igetapp",这与你想使用的自定义 scheme 相匹配。实现跳转:
igetapp://search/result
。处理传入的链接:
通过以上步骤,你就可以在 HarmonyOS 中实现自定义 deeplink 跳转了。请注意,在实际开发中,你需要确保你的自定义 scheme 是唯一的,以避免与其他应用发生冲突。同时,你也需要按照 HarmonyOS 的开发规范进行配置和实现。
1 回答455 阅读✓ 已解决
1 回答475 阅读
436 阅读
432 阅读
391 阅读
376 阅读
418 阅读
浏览器支持Deeplink链接的打开能力。应用想要响应Deeplink拉起,需要注册viewData action和scheme+host,这样才能匹配到。如果有多个应用注册了相同的scheme+host,就会拉起应用选择框,让用户选择某个应用。
Deeplink响应的声明,需要在module.json5文件的接收Ability中skills项中增加action和uris内容:
需要注意deeplink链接的scheme协议头必须网页拉起的链接的应用配置的保持一致。
另外浏览器不会对deeplink链接做任何解析或处理,只会原封不动的传递给拉起的应用。因此第三方应用只需要自己的网页端和应用端协商好url规则,自己去做解析打开对应页面即可
本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。