首页 > 解决方案 > 如何将参数发送到 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>

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

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

这可能吗?

标签: androidflutterdeep-linking

解决方案


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

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

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


推荐阅读