Firebase Hosting和Angular中的动态链接问题

3
我们目前正在开发一款Angular网站,该网站也支持一个Android应用程序。在我们的第一次开发中,我们能够配置动态链接,并且在Angular和Android应用程序之间有效地运行。
在Angular进行了新的更新后,几个小时后部署,我注意到动态链接不再工作,我注意到firebase.json文件在部署期间被覆盖。我更改了Firebase.json文件,但此后动态链接不再起作用,我的所有动态链接URL都将我重定向到我的Angular自定义404页面,而且动态链接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
            }
        ]
  }
}

为了重现该错误,请访问此链接 https://gotozeal.com/home/viewdetails/ngFKiFSP05M8QdCv8aeo 点击分享图标,生成动态链接,例如 https://gotozeal.com/preview/2u4knWADHvX6WpdSA 动态链接应在移动设备上打开 Play 商店,但在 Web 上会直接跳转至网站内容。
1个回答

2

到目前为止,我已经在 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"
            }
        ]
  }
}

我的动态链接停止工作了,不确定我是否在某个地方犯了错误。我想这可能是一个解决方案,它对我也起作用了! - Boy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接