Firebase托管和Angular中的动态链接问题

时间:2020-07-03 14:07:12

标签: angular firebase firebase-hosting angular9 firebase-dynamic-links

我们目前正在Angular网站上工作,该网站也支持Android应用程序,在我们的第一个开发过程中,我们能够配置动态链接,并且在Angular和Android应用程序之间运行良好。

我们在角度上做了一个新的更新。

部署后几个小时,我发现动态链接不再起作用,我注意到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商店,但在网络上,它将直接带您进入网站内容。

1 个答案:

答案 0 :(得分:0)

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