1条回答 默认 最新
檀越@新空间 2026-04-30 11:47关注上午好☀️☀️☀️️
本答案参考通义千问要实现通过HTTPS链接打开华为企业服务APP(例如:
https://m-uat.support.huawei.com/applinks),通常需要使用 Deep Linking 或 Universal Links 的方式,这取决于你的目标平台(如iOS或Android)。以下是针对 iOS 和 Android 平台 的详细解决方案:
一、问题背景
你希望通过一个 HTTPS 链接(如
https://m-uat.support.huawei.com/applinks)直接跳转到华为企业服务APP中对应的页面,而不是在浏览器中打开网页。
二、解决方案概述
1. iOS 平台 - Universal Links
✅ 实现方式:
- 使用 Universal Links(苹果官方推荐)
- 需要配置
.well-known/apple-app-site-association文件 - 需要设置应用的
associated domains
🔧 步骤如下:
-
创建并部署
apple-app-site-association文件- 该文件必须放在域名的根目录下,如:
https://m-uat.support.huawei.com/.well-known/apple-app-site-association - 文件内容示例:
{ "applinks": { "apps": [ { "appID": "YOUR_TEAM_ID.com.your.bundle.id", "paths": ["*"] } ] } } - 注意:不要添加 .json 后缀,且文件必须为纯文本格式。
- 该文件必须放在域名的根目录下,如:
-
在 Xcode 中配置 Associated Domains
- 打开项目,进入 Signing & Capabilities
- 添加 Associated Domains,格式为:
applinks:m-uat.support.huawei.com
-
在代码中处理 Universal Link
- 在
AppDelegate.swift中重写方法:func application(_ application: UIApplication, continueUserActivityWithType userActivityType: String, restoredUserActivities: [NSUserActivity]) -> Bool { if userActivityType == NSUserActivityTypeBrowsingWeb { if let userActivity = restoredUserActivities.first { if let url = userActivity.webpageURL { // 处理 URL 跳转逻辑 print("Open URL: $url)") } } } return true }
- 在
-
测试 Universal Link
- 在设备上点击链接,系统会尝试打开 APP,如果未安装则打开网页。
2. Android 平台 - Deep Linking / App Links
✅ 实现方式:
- 使用 App Links(类似 iOS 的 Universal Links)
- 需要配置
intent-filter和assetlinks.json文件
🔧 步骤如下:
-
创建并部署
assetlinks.json文件- 放置位置:
https://m-uat.support.huawei.com/.well-known/assetlinks.json - 文件内容示例:
[{ "relation": ["delegate_permission/common.handle_all_urls"], "target": { "namespace": "android_app", "package_name": "com.huawei.enterprise.app", "sha256_cert_fingerprint": "YOUR_APP_SHA256_FINGERPRINT" } }]
- 放置位置:
-
在 AndroidManifest.xml 中配置 Intent Filter
<activity android:name=".MainActivity"> <intent-filter android:autoVerify="true"> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="https" android:host="m-uat.support.huawei.com" /> </intent-filter> </activity> -
测试 App Link
- 在设备上点击链接,系统会尝试打开 APP,如果未安装则打开网页。
三、注意事项
- 确保域名已备案且可访问(尤其在中国大陆)。
- 证书需为有效 HTTPS 证书(如 Let's Encrypt)。
- 测试时建议使用真机测试,模拟器可能无法完全支持 Universal Links 或 App Links。
- 如果用户未安装 APP,链接将默认打开网页。
四、修改后的代码示例(Android)
<!-- AndroidManifest.xml --> <activity android:name=".MainActivity"> <intent-filter android:autoVerify="true"> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="https" android:host="m-uat.support.huawei.com" /> </intent-filter> </activity>
五、总结
| 平台 | 技术名称 | 说明 | |------|----------|------| | iOS | Universal Links | 需要配置
.well-known/apple-app-site-association文件 | | Android | App Links | 需要配置assetlinks.json文件和intent-filter|
六、关键点加粗总结
- Universal Links 和 App Links 是实现 HTTPS 链接直接跳转到 APP 的标准方式。
- 必须配置对应的 JSON 文件并部署在域名下。
- 需要正确设置应用的
associated domains或intent-filter。 - 测试时建议使用真实设备进行验证。
如需进一步帮助,请提供具体平台(iOS/Android)以及是否已有相关配置。
解决 无用评论 打赏 举报