jiang70911032 2026-04-30 11:46 采纳率: 0%
浏览 4

实现HTTPS链接打开华为企业服务APP

  • 写回答

1条回答 默认 最新

  • 檀越@新空间 2026-04-30 11:47
    关注

    上午好☀️☀️☀️️
    本答案参考通义千问

    要实现通过HTTPS链接打开华为企业服务APP(例如:https://m-uat.support.huawei.com/applinks),通常需要使用 Deep LinkingUniversal 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

    🔧 步骤如下:

    1. 创建并部署 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 后缀,且文件必须为纯文本格式。
    2. 在 Xcode 中配置 Associated Domains

      • 打开项目,进入 Signing & Capabilities
      • 添加 Associated Domains,格式为:applinks:m-uat.support.huawei.com
    3. 在代码中处理 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
        }
        
    4. 测试 Universal Link

      • 在设备上点击链接,系统会尝试打开 APP,如果未安装则打开网页。

    2. Android 平台 - Deep Linking / App Links

    ✅ 实现方式:

    • 使用 App Links(类似 iOS 的 Universal Links)
    • 需要配置 intent-filterassetlinks.json 文件

    🔧 步骤如下:

    1. 创建并部署 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"
          }
        }]
        
    2. 在 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>
      
    3. 测试 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 domainsintent-filter
    • 测试时建议使用真实设备进行验证。

    如需进一步帮助,请提供具体平台(iOS/Android)以及是否已有相关配置。

    评论

报告相同问题?

问题事件

  • 创建了问题 4月30日