0

我正在尝试在 React Native 中注册用户。有两个步骤可以做到当我输入用户喜欢的信息(名字、姓氏和电子邮件)时,用户在他/她的邮件中得到了一个链接。当用户单击此链接时,它会重定向到新注册页面,其中包含另外两个字段,例如密码和地址。我想通过链接向用户发送邀请码。我们如何发送邀请码和应用程​​序链接以及当用户打开应用程序时如何处理?

4

3 回答 3

1

让我们将问题分解为子问题。

1. 深度链接和通用链接

myapp://path/to/resource使用自定义和通用链接为您的应用注册深层 链接https:yourcompany.com/path/to/ressource

注意: Apple 要求对通用链接进行域名所有权验证。

React Native CLI - https://venturedevs.com/en/blog/implementing-deep-linking-react-native-apps/

世博会 - https://docs.expo.dev/guides/linking/

2. 发送验证码到邮箱。

发送电子邮件的逻辑应在后端处理或使用第三方邮件服务(如 sendGrid)。

假设用户收到一封带有验证链接的电子邮件,例如https://auth.yoursecret-server.com/myapp?authCode=35467809876

3. 验证码界面的深度链接

React Navigation 对深度链接有一流的支持,我推荐它来处理基于屏幕的深度链接。进一步查阅他们的文档。 https://reactnavigation.org/docs/deep-linking

于 2022-02-03T13:54:37.407 回答
0

我不确定我是否完全理解您的查询,但是您需要使用react-native-branchreact-navigation-linking

请按照文件进行操作以获取路线图。

于 2022-02-03T12:20:28.240 回答
0

在这种情况下,我们所做的是我们在自定义 URL 中添加了邀请码,如下所示

testapp://singup/invite/abc123456

并完成androidios原生设置

应用程序中的下一个

import { Linking } from "react-native"


  React.useEffect(() => {
    Linking.addEventListener("url", _handleDeepLinkURL)
    return () => {
      Linking.removeEventListener("url", _handleDeepLinkURL)
    }
  }, [])

  const _handleDeepLinkURL= async ({ url }) => {
   let inviteCode = parseUrlForCode(url)
   let validation = await api.validate(inviteCode,userEmail)
  }
于 2022-02-03T12:53:21.017 回答