如何使用 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 Web:如何链接到网页上的特定行或段落

Flutter - 无法在flutter web中使用动态链接

如何为 Flutter Web 添加 Firebase 预构建的身份验证 UI?

如何为 Flutter Web 更新 pub 包 webdev

是否可以在 Flutter Web 的同一页面中创建指向部分的链接?