如何在 Flutter 中向深层链接发送参数?

max*_*ine 6 android deep-linking flutter

我已经成功地在 Flutter 上为我的应用程序设置了深层链接(目前仅在 Android 上),这里是AndroidManifest.xml文件中用于设置深层链接的意图过滤器(使用示例主机名和前缀):

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="http" android:host="example.com" android:pathPrefix="/prefix"/>
</intent-filter>
Run Code Online (Sandbox Code Playgroud)

这是有效的,每当我在手机上访问http://example.com/prefix时,它都会建议打开我的应用程序。

现在,我希望能够向深层链接传递参数,可能是像http://example.com/prefix?code=abc123这样的 URL 参数。所以我可以从我的 Flutter 应用程序中读取它,例如getParam('code')返回。abc123

这可能吗?

小智 1

如果您需要特定域名的更高级的深层链接体验,Google firebase 有一个很棒的产品,名为动态链接,而且是免费的。

Flutter 有一个官方包可以用作firebase_dynamic_links

动态链接消除了 DeepLink 的弱点。使用动态链接,您可以以类似的方式处理所有平台(例如 Android、iOS 和 Web)。它将用户从您的移动网站无缝转移到您应用程序中的等效内容(如果用户尚未在她/他的设备上安装您的应用程序,则内容将在应用程序安装后显示)。此外,您可以在 Firebase 控制台中查看动态链接的日志。另一个功能是找出用户点击链接的位置。更多信息

  • 我认为 Firebase 动态链接对于在 URL 中包含参数没有用处。 (2认同)