Expo 深层链接:我是否在电子邮件中提供网站的 URL 或应用程序方案以获取深层链接?

问题描述 投票:0回答:1

当我发送包含我的应用程序链接的电子邮件时,我是否发送我的网站“www.example.com”的 URL,然后重定向到我的应用程序?

当我解析并记录网址时:

 const { hostname, path, queryParams } = Linking.parse(url);

然后当完整网址为:

http://www.example.com/confirm?code=abcd

我得到的网站网址:

主机:www.example.com,路径:确认和查询参数:{“code”:“abcd”}

当完整网址为:

myAppScheme:///confirm?code=abcd

我得到主机:确认,路径:null和queryParams:{“code”:“abcd”}

因为当我提供网站 www.example.com 时,会重定向到另一个屏幕,这不适用于:

  const linking = {
        prefixes: [prefix],
        config: {
            screens: {
                ConfirmAccount: {
                    path: "confirm",
                },
                NotFound: '*',
            }
        },
react-native expo deep-linking
1个回答
0
投票

我认为如果您使用像 myAppScheme://confirm/abcd (scheme://[path]/[parameter]) 这样的 URL,您的应用程序会工作得更好,这样您就可以拥有如下链接配置:

const linking = {
        prefixes: [prefix],
        config: {
            screens: {
                ConfirmAccount: {
                    path: "/confirm/:id",
                },
                NotFound: '*',
            }
        },

然后您可以使用以下方法捕获 id

const TheComponent = ({ route, navigation }) => {
  const { id } = route.params;
}

请告诉我这是否适合您。

© www.soinside.com 2019 - 2024. All rights reserved.