如果用户使用Firebase身份validation和Swiftvalidation了他们的电子邮件,我该如何redirect到我的应用程序?

当用户在我的应用程序注册时,他们会popup一个说,请validation您的电子邮件,然后login。 当用户单击确定,它将他们login页面。 此时,用户应转到邮件应用程序(iPhone),然后单击从Firebase发送给他们的链接。 点击这个链接目前打开Safari,并告诉用户帐户已validation,然后用户必须手动返回到应用程序。 我如何validation用户,然后也把他们带回应用程序?

我已经阅读了有关continueURL以及Firebase提供的文档,但这只是没有任何意义,我对我需要做的事情感到困惑。 如果有人可以解释如何做到这一点是简单的条款,将不胜感激。

这是我发送电子邮件的方式:user?.sendEmailVerification(completion:nil)

预先感谢您的帮助!

你可以让链接直接带你到iOS应用程序,但通过将handleCodeInApp设置为YES来处理应用程序中的代码。 为了简单起见,我们来举例说明如何首先打开网页中的链接( handleCodeInApp是默认的NO ),validation电子邮件,然后redirect回移动应用程序继续到用户的预期目的地。

 var actionCodeSettings = ActionCodeSettings.init() actionCodeSettings.canHandleInApp = false let user = Auth.auth().currentUser() // This URL will be the deep link of the FDL. It is useful for // passing state back to your iOS app to let it know that you were // verifying a user of email user.email. This is also useful // in case the user clicks the continue button a non iOS device. // You should own this link. actionCodeSettings.URL = String(format: "https://www.example.com/?email=%@", user.email) // This is your iOS app bundle ID. It will try to redirect to your // app via Firebase dynamic link. actionCodeSettings.setIOSBundleID("com.example.ios") user.sendEmailVerification(withActionCodeSettings:actionCodeSettings { error in if error { // Error occurred. Inspect error.code and handle error. return } // Email verification sent. }) 

在上述stream程中,validation链接将被发送给用户。 用户将点击链接。 它将打开电子邮件将被validation的供应网页。 显示一个继续button,点击后,如果iOS应用程序安装在设备上,将会redirect回应用程序。

您将使用Firebasedynamic链接截取该链接。 详细了解如何在iOS中configurationFDL并在此处理链接:

https://firebase.google.com/docs/dynamic-links/ios/receive https://firebase.google.com/docs/auth/ios/passing-state-in-email-actions#configuring_firebase_dynamic_links

Firebasedynamic链接将与以下urlbuild立深层链接: https://www.example.com/?email=%@", user.emailhttps://www.example.com/?email=%@", user.email