You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已验证Flutter Deep Links,但无法通过网页链接打开应用

  • 确认 assetlinks.json 的实际访问状态

    • 直接用浏览器访问 https://你的域名/.well-known/assetlinks.json,检查是否能正常返回JSON内容,全程无3xx重定向(Android系统验证该文件时不允许任何重定向,哪怕Google Play控制台显示验证通过,实际系统层面可能因重定向失败)
    • 用curl命令查看完整响应过程:curl -v https://你的域名/.well-known/assetlinks.json,重点看是否有重定向、最终HTTP状态码是否为200
  • 修正Laravel路由配置

    • Laravel默认会将未匹配的请求导向路由逻辑,若未专门配置.well-known路径,会被判定为无效路由返回404。最简单的解决方式是绕过Laravel路由:在项目public目录下直接创建.well-known文件夹,将assetlinks.json放入其中,让nginx直接返回静态文件
    • 若必须通过Laravel返回,需在routes/web.php中优先添加路由规则:
      Route::get('/.well-known/assetlinks.json', function () {
          return response()->file(public_path('.well-known/assetlinks.json'));
      });
      
      确保该路由在Route::fallback()等通用路由之前定义
  • 调整nginx配置

    • 确保nginx优先处理.well-known路径的静态文件,不转发给PHP-FPM,添加如下规则:
      location /.well-known {
          try_files $uri $uri/ =404;
      }
      
      location / {
          try_files $uri $uri/ /index.php?$query_string;
      }
      
    • 检查HTTPS重定向规则,避免http://请求被强制重定向到https://——需保证assetlinks.json的初始请求就是HTTPS,无跳转过程
  • 验证浏览器触发逻辑

    • 清除浏览器缓存后再测试(部分浏览器会缓存Deep Link验证结果)
    • 确保HTML中的链接为HTTPS协议(Android App Links仅支持HTTPS),格式为https://你的域名/xxx
    • 不要用本地file://协议的HTML文件测试,需将HTML部署到服务器后访问
  • 二次核对AndroidManifest配置

    • 确认intent-filter中已添加android:autoVerify="true",且host、scheme配置正确:
      <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="你的域名" />
      </intent-filter>
      
    • 核对assetlinks.json中的SHA-256签名指纹,与应用签名完全一致(注意大小写、无多余空格)

内容的提问来源于stack exchange,提问作者Lochinvar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 22:43:19