例如,在我的 flutter 应用程序中,用户可以恢复他的密码。 在这种情况下,用户将收到电子邮件中的链接,我希望通过单击该链接,我的 flutter 应用程序将打开,并路由到特定屏幕。
您需要从以下角度查看:如何从 URL 打开我的 iOS/Android 应用程序, 即。 应用深度链接.
他们每个人都有自己各自的实现:
或者您可以使用更全面的 SDK,它们能够为您完成这两件事:
有一个很好的插件,
https://pub.dev/packages/uni_links
它还详细说明了您需要如何配置 iOS 和 Android 才能使其工作(恕我直言,这是最难的部分);另一个不错的信息来源是这篇博文
所以在这里,你必须使用
dynamic link
。
最好的解决方案是使用 Firebase 动态链接 .
Firebase Dynamic Links 的优势之一: 将移动网络用户转换为本地应用程序用户
使用动态链接,您可以无缝地将用户从您的 移动网站到您应用程序中的等效内容。而且因为 这些链接在应用程序安装过程中仍然存在,即使是新用户也可以使用 他们在您的移动网站上停下来的地方,没有错过任何一个节拍。
您可以使用 app_links,它支持 Android、iOS、macOS、web 和 Windows 的 Android 应用程序链接、深度链接、iOs 通用链接和自定义 URL 方案处理程序(包括桌面)。
你不需要使用任何包来从 url 启动应用程序(如果
你不想从链接中获取数据)
<!-- App Link sample -->
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" android:host="myapp.flutter.com" android:pathPrefix="/success" />
<data android:scheme="https" android:host="myapp.flutter.com" android:pathPrefix="/failure" />
</intent-filter>
<!-- Deep Link sample -->
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- Add optional android:host to distinguish your app
from others in case of conflicting scheme name -->
<data android:scheme="app" android:host="success" />
<data android:scheme="app" android:host="failure" />
<!-- <data android:scheme="sample" /> -->
</intent-filter>
请检查如何从 URL 打开 flutter 应用程序: