如何使用 Flutter Web 进行深度链接?
Posted
技术标签:
【中文标题】如何使用 Flutter Web 进行深度链接?【英文标题】:How to perform Deep-linking with Flutter Web? 【发布时间】:2020-03-19 13:20:22 【问题描述】:Flutter Web:有没有办法让应用的 URL 看起来类似于导航路径名称,以便我们可以进行深度链接?例如如果我现在在 chrome 上运行应用程序,我得到的 URL 是“http://localhost:51322/#/”。所以如果我在主屏幕上,我怎么能把它作为“http://localhost:51322/#/home”呢?
我在https://medium.com/flutter-community/more-than-a-flutter-web-app-is-a-full-flutter-website-c6bb210b1f16 尝试了解决方案,但它似乎不再起作用了。
【问题讨论】:
【参考方案1】:# 之后的 url 部分是“命名路由”中的“路由名称”,这里解释得很好:https://flutter.dev/docs/cookbook/navigation/named-routes
特别是要从“/”更改为“/home”作为您的默认路由,您希望将 MaterialApp 的“initialRoute”参数更改为“/home”,并确保您的路由映射有一个“/home”条目而不是“/”
有几种方法可以告诉 MaterialApp 什么是“home”或“root”小部件,您需要注意不要给它提供相互冲突的指令。具体在类文档中:https://api.flutter.dev/flutter/material/MaterialApp-class.html
【讨论】:
以上是关于如何使用 Flutter Web 进行深度链接?的主要内容,如果未能解决你的问题,请参考以下文章
flutter web pwa如何支持多域链接打开主屏应用?
Flutter - 无法在flutter web中使用动态链接
如何为 Flutter Web 添加 Firebase 预构建的身份验证 UI?