Flutter Android 深层链接未启动应用程序

问题描述 投票:0回答:1

我已经按照官方文档为我的 Flutter 应用程序实现了深度链接功能。但是,在 Android 上,当我在浏览器上打开深层链接时,它不会启动该应用程序。

这是我的 AndroidManifest.xml 文件


            <!-- <meta-data android:name="flutter_deeplinking_enabled" android:value="true" /> -->
            <intent-filter>
                <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="app.name.com" />

            </intent-filter>

这是我的domain/.well-known/assetlinks.json 文件

[
  {
    "relation": ["delegate_permission/common.handle_all_urls"],
    "target": {
      "namespace": "android_app",
      "package_name": "com.company.app",
      "sha256_cert_fingerprints": [      "DB:34:11:E3.....
      ]
    }
  }
]

我在 Firebase 托管上托管此文件,这是我的 firebase.json 文件

{
  "hosting": {
    "public": "public",
    "appAssociation": "NONE",
    "ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
    "headers": [
      {
        "source": "/.well-known/assetlinks.json",
        "headers": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ]
      },
      {
        "source": "/.well-known/apple-app-site-association",
        "headers": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ]
      }
    ],
    "rewrites": [
      {
        "source": "/.well-known/apple-app-site-association",
        "destination": "/.well-known/apple-app-site-association"
      },
      {
        "source": "/.well-known/assetlinks.json",
        "destination": "/.well-known/assetlinks.json"
      },
      {
        "source": "**",
        "destination": "/index.html"
      }
    ]
  }
}

当我使用命令测试应用程序如何处理深层链接时,它按预期工作

adb shell 'am start -a android.intent.action.VIEW \ 
    -c android.intent.category.BROWSABLE \
    -d "https://app.name.com"' \
    com.company.app

在 IOS 上,它工作正常(我可以选择在顶部打开应用程序),但在 Android 上它无法按预期工作。那么这里可能存在什么问题?

android flutter firebase deep-linking firebase-hosting
1个回答
0
投票

您是否添加了 sha256_cert_fingerprints 以在 /.well-known/assetlinks.json 文件上发布?

© www.soinside.com 2019 - 2024. All rights reserved.