在反应原生动态链接中传递参数

问题描述

我正在使用 @react-native-firebase/dynamic-links 处理 React Native 应用程序内的 firebase 动态链接

我创建了一个动态链接 https://example.page.link/settings 并且我想要一个选项,我可以在其中单击看起来像 https://example.page.link/settings?accounthttps://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,那么使用 Firebase dynamic links 的正确方法是什么?

解决方法

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

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

试试下面的链接

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

代替之前的尝试

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

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

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

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