HarmonyOS鸿蒙Next中开通App Linking时必使用的域名必须在model.json5中配置好么?
HarmonyOS鸿蒙Next中开通App Linking时必使用的域名必须在model.json5中配置好么? 已经在服务器配置了applinking.json,访问已成功,配置申请applinking服务还是失败了,上架的model.json5中也要配置好uril么
是需要的。详细参考 4楼 小伙伴的回复。
这里需要额外补充一点的是应用是需要在国区市场的 AGC 平台上架的。不然 AGC 平台上不会显示 App Linking 的匹配规则的
更多关于HarmonyOS鸿蒙Next中开通App Linking时必使用的域名必须在model.json5中配置好么?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
必须同时在AGC云侧和端侧module.json5完成配置,两者缺一不可
云侧配置:通过AGC控制台完成域名关联和发布,服务器通过applinking.json验证归属权
端侧配置:需在module.json5中声明skills字段的uris配置项
{
"skills": [
{
"entities": ["entity.system.browsable"],
"actions": ["ohos.want.action.viewData"],
"uris": [
{
"scheme": "https",
"host": "your-domain.com",
"pathStartWith": "pathPrefix",
"domainVerify": true
}
]
}
]
}
需满足以下条件:
scheme必须为HTTPS
host与AGC发布的域名完全一致
domainVerify必须设为true
参考文档
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/app-linking-startup
【问题背景】
- Q:开通App Linking时必使用的域名必须在model.json5中配置好么?
- A:需要
以下是module.json5的配置示例
1、在module.json5中配置关联的网址域名
- 在应用的module.json5文件中进行如下配置,以声明应用关联的域名地址,并开启域名校验开关。
- “entities"列表中必须包含"entity.system.browsable”。
- “actions"列表中必须包含"ohos.want.action.viewData”。
- “uris"列表中必须包含"scheme"为"https"且"host"为域名地址的元素,可选属性包含"path”、“pathStartWith"和"pathRegex”,具体请参见“uris标签说明”。
- "domainVerify"设置为true,表示开启域名校验开关。
说明
skills标签下默认包含一个skill对象,用于标识应用入口。应用跳转链接不能在该skill对象中配置,需要创建独立的skill对象。
如果存在多个跳转场景,需要在skills标签下创建不同的skill对象,否则会导致配置无法生效。
例如,声明应用关联的域名是www.example.com,则需进行如下配置。
{
"module": {
"abilities": [
{
"name": "EntryAbility",
"srcEntry": "./ets/entryability/EntryAbility.ets",
"icon": "$media:icon",
"label": "$string:EntryAbility_label",
// 请将exported配置为true;如果exported为false,仅具有权限的系统应用能够拉起该应用,否则无法拉起应用
"exported": true,
"startWindowIcon": "$media:icon",
"startWindowBackground": "$color:start_window_background",
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
//从5.1.1(19)开始,须配置为"ohos.want.action.home"。对于5.1.0(18)及之前版本,请配置为"action.system.home"。
"ohos.want.action.home"
]
},
{
"entities": [
// entities必须包含"entity.system.browsable"
"entity.system.browsable"
],
"actions": [
// actions必须包含"ohos.want.action.viewData"
"ohos.want.action.viewData"
],
"uris": [
{
// scheme须配置为https
"scheme": "https",
// host须配置为关联的网址域名
"host": "www.example.com",
// path可选,表示域名服务器上的目录或文件路径,例如www.example.com/path1中的path1
// 如果应用只能处理部分特定的path,则此处应该配置应用所支持的path,避免出现应用不能处理的path链接也被引流到应用中的问题
"path": "path1"
}
],
// domainVerify须设置为true
"domainVerify": true
}
// 若有其他跳转能力,如推送消息跳转、NFC跳转,可新增一个skill对象,防止与App Linking业务冲突
]
}
]
}
}
找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17
我昨天看文档是需要的,
在HarmonyOS Next中,开通App Linking功能时使用的域名必须在model.json5文件中配置。该文件用于声明应用的能力和权限,其中域名配置确保App Linking能正确关联应用和网络资源。未配置可能导致功能无法正常使用。
是的,在HarmonyOS Next中开通App Linking服务时,必须在应用的model.json5文件中配置好域名。即使服务器端已正确部署applinking.json并可以访问,如果model.json5中未声明相关域名,审核或服务开通仍会失败。这是因为系统需要验证应用对域名的所有权和关联性,确保链接能正确跳转到目标应用。请检查并补充model.json5中的uri配置,确保与服务器域名一致。

