如何将参数发送到 Flutter 中的深层链接?

How can I send parameters to deep links in Flutter?

我已经在 Flutter 上为我的应用设置了深度 link(目前仅在 android 上),这是 [=27 中的意图过滤器=] 文件来设置深层 link(使用示例主机名和前缀):

<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>

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

现在,我希望能够将参数传递给深层 link,也许是 URL 参数,例如 http://example.com/prefix?code=abc123。所以我可以从我的 Flutter 应用程序中读取它,例如 getParam('code') returns abc123

这可能吗?

如果您需要更深入的 linking 特定域名经验,Google firebase 有一个很棒的产品,名为 Dynamic links,它是免费的。

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

Dynamic Links 消除了 DeepLink 弱点。使用 Dynamic Links,您可以以类似的方式对待所有平台,例如 Android、iOS 和网络。它将用户从您的移动网站无缝转移到您应用程序中的等效内容(如果用户尚未在 her/his 设备上安装您的应用程序,则内容将在应用程序安装后显示)。此外,您可以在 Firebase 控制台中看到 Dynamic Link 的日志。另一个功能是找出用户点击了 link.more info