繁体   English   中英

从发送验证邮件接收深度链接 (Flutter / Firebase)

[英]Receive Deep Link from Send Verification Email (Flutter / Firebase)

我们可以像下面的代码一样发送电子邮件验证。 我想要打开指定的深层链接。 我可以确认此深层链接在 iOS 上有效。 如果我在终端中运行它,应用程序会正确打开。

xcrun simctl openurl 启动 customscheme://[LINKDOMAIN].page.link/

user.sendEmailVerification(
        ActionCodeSettings(
          url: 'customscheme://[LINKDOMAIN].page.link/',
          handleCodeInApp: true,
          iOSBundleId: '[BUNDLE]',
          androidPackageName: '[PACKAGE]',
          androidInstallApp: true,
          androidMinimumVersion: '12',
        ),
      );

这会向用户发送一封带有链接的电子邮件。 链接很长很复杂。 当您点击链接时,它会验证电子邮件地址,但不会打开深层链接。 我收到此错误:

在此处输入图像描述

遇到错误 此应用程序运行的环境不支持此操作。 “location.protocol”必须是 http、https 或 chrome-extension,并且必须启用网络存储。

错误来自 Firebase。 我不认为它想让我通过电子邮件发送深层链接。 我认为它要我使用 Firebase 的动态链接系统。 这可能是正确的,但我认为对于这个简单的场景我不需要它。 我只需要打开应用程序。 我不需要传递任何参数。 为什么它阻止我打开一个简单的深层链接?

我是否需要使用 Firebase 的成熟动态链接系统并为此使用 Flutter SDK?

编辑:我将handleCodeInApp设置为 false,现在我离 Android 更近了一步。 该链接会验证电子邮件,但不会打开应用程序中的深层链接。 它应该打开它,因为如果我将 Url 输入浏览器,应用程序就会打开。 这就是发生的事情。

换句话说,动态链接工作正常,但 Firebase 通过电子邮件发送的链接没有重定向到正确的动态链接。

在此处输入图像描述

它似乎适用于 Android。 我错过的部分是为 Android 应用程序添加SHA1 指纹 我仍然需要让 iOS 正常工作。

文件说:

要了解有关如何在 Android 应用程序中处理使用电子邮件链接登录的更多信息,请参阅Android 指南

要详细了解如何在 Apple 应用程序中使用电子邮件链接处理登录,请参阅Apple 平台指南

这些地址提供了具体细节。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM