我们可以在 url 中传递邀请码吗?

can we pass invitation code in url in react native?

我正在尝试在 React Native 中注册用户。有两个步骤可以做到 当我输入用户喜欢的信息(名字、姓氏和电子邮件)时,用户在 his/her 邮件中收到 link。 当用户单击此 link 时,它会重定向到新注册页面,其中还有两个字段,如密码和地址。 我想通过 link 向用户发送邀请码。 我们如何与应用程序一起发送邀请码 link 以及当用户打开应用程序时如何处理这个问题??

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

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

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

testapp://singup/invite/abc123456

并完成 android and ios 本机设置

应用中的下一个

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)
  }

让我们把问题分解成sub-problems。

1.深度 link 和通用链接

使用自定义 myapp://path/to/resource 和通用 link https:yourcompany.com/path/to/ressource.

为深度 link 注册您的应用

注意: Apple 需要验证域名所有权才能通用 linking。

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

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

2。正在发送验证码到邮箱。

发送电子邮件的逻辑应在后端处理或使用 third-party 邮件服务,如 sendGrid。

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

3。深link到验证码画面

React Navigation first-class 支持深度 linking,我推荐它用于处理 screen-based 深度 linking。进一步查阅他们的文档。 https://reactnavigation.org/docs/deep-linking