首页 > 解决方案 > 在反应原生动态链接中传递参数

问题描述

@react-native-firebase/dynamic-links用来处理 react native 应用程序中的 firebase 动态链接。

我创建了一个动态链接https://example.page.link/settings,我希望有一个选项,我可以点击看起来像https://example.page.link/settings?account或的链接,https://example.page.link/settings?notifications它会将我带到设置内的帐户或通知屏幕。

使用:

dynamicLinks().onLink(async (link) => {
  console.log({ link });
});

当我点击时https://example.page.link/settings?account,我只收到一个包含url(不包含参数 - 只是https://example.page.link/settings)和 minimumAppVersion 的对象。

我注意到,如果我在 firebase 控制台中创建一个短链接,https://example.page.link/settings并且在第二步中我将https://example.page.link/settings?account其作为深度链接,那么当我单击一个短链接时,我会收到带有account参数的链接,但这并不能解决我的问题因为我必须使用具有硬编码参数的不同深度链接创建一个单独的短链接

Firebase dynamic links如果我想在我的应用程序中查看参数,或者对于这个用例,我将不得不使用自定义解决方案而不使用 firebase,那么使用这个的正确方法是什么?

标签: react-nativedeep-linkingreact-native-firebasefirebase-dynamic-linksuniversal-link

解决方案


对于使用动态链接的嵌套导航,我们可以以我们可以访问的方式创建链接以导航到特定屏幕。

例如,如果我们需要导航到设置屏幕,然后是帐户屏幕或通知屏幕,我们必须设置 URL 以导航到特定屏幕。

试试下面的链接

https://example.page.link/settings/account

而不是之前的尝试

https://example.page.link/settings?account

我们还可以使用深度链接通过 react-navigation 打开特定屏幕。

查看 react-navigation 的官方文档以实现深度链接:

https://reactnavigation.org/docs/deep-linking/


推荐阅读