Firebase 托管中的动态 Link 问题和 Angular

Dynamic Link Issue in Firebase Hosting and Angular

我们目前正在开发一个 Angular 网站,该网站也支持 Android 应用程序,在我们的第一次开发过程中,我们能够配置动态 link 并且它在 Angular 和 Android 应用程序。

我们在 angular 上进行了新的更新。

部署几个小时后,我注意到动态 Link 不再工作,我注意到 firebase.json 文件在部署期间已被覆盖。 我更改了 Firebase.json 文件,此后动态 Link 不再工作,我所有的动态 links URL 都将我重定向到我的 Angular 自定义 404页,动态 link URL 甚至没有变化。

Web 应用程序使用 Angular 开发并部署在 Firebase 主机上 这是我的 firebase.json

{
  "hosting": {
    "public": "dist/zealweb",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
        "appAssociation": "AUTO",
        "rewrites": [
            {
                "source": "**",
                "destination": "/index.html"
            },
            {
                "source": "/getstarted/**",
                "dynamicLinks": true
            },
            {
                "source": "/preview/**",
                "dynamicLinks": true
            }
        ]
  }
}

要重现错误,请访问此 link https://gotozeal.com/home/viewdetails/ngFKiFSP05M8QdCv8aeo

点击分享图标,生成动态 link 例如 https://gotozeal.com/preview/2u4knWADHvX6WpdSA

动态 link 应该在移动设备上打开 Play 商店,但在网络上它会直接将您带到网站内容。

到目前为止,我能够在 gotozeal 应用程序上正确使用它。 我尝试了托管 JSON 文件,最后,我能够通过将初始 **source: **** 移到重写规则下来解决问题,并且它运行良好。

不确定这是否是最佳解决方案,但到目前为止我们已经得到了我们想要的结果。

{
  "hosting": {
    "public": "dist/zealweb",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
        "appAssociation": "AUTO",
        "rewrites": [
            {
                "source": "/getstarted/**",
                "dynamicLinks": true
            },
            {
                "source": "/preview/**",
                "dynamicLinks": true
            },
            {
                "source": "**",
                "destination": "/index.html"
            }
        ]
  }
}