HarmonyOS 鸿蒙Next实现Deeplink必须要配置host?
HarmonyOS 鸿蒙Next实现Deeplink必须要配置host? 您好,我在使用Deeplink配置时,遇到了点问题。文档上面说:host是必选项。
"uris": [
{
// scheme必选,可以自定义,以link为例,需要替换为实际的scheme
"scheme": "link",
// host必选,配置待匹配的域名
"host": "www.example.com"
}
]
但是我们在Android和iOS已有诸多的deeplink实现(大概40多个页面),并且使用的格式是: myScheme://pagePath 这样的格式,来链接和触达应用中的不同页面。为了兼容线上已有的deeplink实现,如果按照当前host必须设置的条件,我们需要配置40个多uris…
类似Android和iOS,可以只需要配置myScheme,就可以实现 myScheme://xxxxxx 可以直接通配所有情况。
请问Harmony上面有类似的host缺省或者通配的设置吗?
更多关于HarmonyOS 鸿蒙Next实现Deeplink必须要配置host?的实战教程也可以访问 https://www.itying.com/category-93-b0.html
你好,可以只填写 scheme.
{
// 自定义的scheme 使用 xianyin://xxxx
"scheme": "xianyin"
}
应用链接说明
URL的基本格式
按照配置的字段不同,uris可以拼接为不同的URL表达式。其中,scheme为必选字段,其他字段仅当scheme存在时才有意义。
-
只配置scheme:scheme://
-
只配置scheme和host:scheme://host
-
只配置scheme、host和port:scheme://host:port
-
当配置了path、pathStartWith或pathRegex字段时,组成的表达式如下。
三方应用组件配置的scheme不能与系统应用重复,否则会导致无法通过该uri拉起三方应用组件。
- 全路径表达式:scheme://host:port/path
- 路径前缀表达式:scheme://host:port/pathStartWith
- 路径正则表达式:scheme://host:port/pathRegex
更多关于HarmonyOS 鸿蒙Next实现Deeplink必须要配置host?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
我刚才验证了一下,确实可以只配置scheme。 之前看文档上面是必填项,没想到先试试😂。
在HarmonyOS Next中,实现DeepLink必须配置host。这是系统安全机制的要求,用于验证应用身份和确保链接的唯一性。开发者需要在应用的配置文件(如module.json5)中声明host,以支持通过特定URL打开应用。
是的,在HarmonyOS Next中,host字段在配置Deeplink时是必填项,这是其当前设计规范。
针对您提到的从Android/iOS迁移时,希望像myScheme://pagePath这样仅通过scheme匹配所有路径的场景,目前标准的uris配置方式确实需要为每个不同的路径或通配模式单独声明条目。
不过,有变通方案可以实现您的需求,无需配置40多个条目:
方案:使用通配符 * 作为host值
您可以将host字段配置为通配符 "*"。这样配置后,任何符合您所设scheme的URI(无论host部分是什么)都将被您的应用捕获。
配置示例:
"uris": [
{
"scheme": "myScheme",
"host": "*"
}
]
完成此配置后,诸如 myScheme://pagePath、myScheme://anyHost/anyPath 等格式的链接都将能触发您的应用并跳转到相应的页面。
关键点说明:
- 核心逻辑在应用内处理:配置通配后,所有
myScheme://开头的链接都会路由到您的应用。您需要在应用内(通常在onCreate或专门的URI路由模块中)解析完整的URI(包括//之后的部分,即host和path等),并根据您原有的规则(如pagePath)来分发到不同的页面。 - 与Android/iOS的差异:HarmonyOS Next的机制更明确地将
host作为过滤条件之一。使用"*"作为通配,是符合其框架要求的做法,既能满足必填校验,又能实现您需要的灵活匹配。 - 保持配置简洁:使用此方法,您通常只需配置一个通配条目即可覆盖所有使用同一
scheme的深度链接场景,无需为每个路径单独声明。
因此,虽然host字段必填,但通过将其值设为"*",即可有效模拟Android/iOS上仅配置scheme的通配效果,从而兼容您现有的40多个深度链接格式。您只需要确保应用内部的URI解析逻辑能够正确处理传入的完整字符串。

