我正在尝试在 React Native 中注册用户。有两个步骤可以做到当我输入用户喜欢的信息(名字、姓氏和电子邮件)时,用户在他/她的邮件中得到了一个链接。当用户单击此链接时,它会重定向到新注册页面,其中包含另外两个字段,例如密码和地址。我想通过链接向用户发送邀请码。我们如何发送邀请码和应用程序链接以及当用户打开应用程序时如何处理?
3 回答
让我们将问题分解为子问题。
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
我不确定我是否完全理解您的查询,但是您需要使用react-native-branch或react-navigation-linking。
请按照文件进行操作以获取路线图。
在这种情况下,我们所做的是我们在自定义 URL 中添加了邀请码,如下所示
testapp://singup/invite/abc123456
应用程序中的下一个
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)
}