我们可以发送一封电子邮件验证,如下面的代码。我希望指定的深层链接打开。我可以确认这个深层链接在iOS上工作。如果我在终端中运行它,应用程序会正确打开。
xcrun simctl openurl引导自定义方案://[链接域]. 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扩展名,并且必须启用Web存储。
错误来自Firebase。我认为它不想让我通过电子邮件发送深度链接。我认为它想让我使用Firebase的动态链接系统。这可能是真的,但我认为我不需要它来处理这个简单的场景。我只需要打开应用程序。我不需要传递任何参数。为什么它阻止我打开一个简单的深度链接?
我需要使用Firebase的成熟动态链接系统和Flutter SDK吗?
编辑:我将handleCodeInApp
设置为false,现在我在安卓系统上更进一步了。链接验证了邮件,但它没有打开应用程序中的深层链接。它应该打开它,因为如果我在浏览器中输入URL,应用程序就会打开。这就是发生的事情。
换句话说,动态链接工作正常,但Firebase通过电子邮件发送的链接没有重定向到正确的动态链接。
2条答案
按热度按时间zzlelutf1#
它似乎在Android上工作。我错过的部分是为Android应用程序添加SHA1 fingerprint。我仍然需要让iOS工作。
xxb16uws2#
文档中写道:
要了解有关如何在Android应用程序中使用电子邮件链接处理登录的更多信息,请参阅Android guide。
要了解如何在Apple应用程序中使用电子邮件链接处理登录的更多信息,请参阅Apple platforms guide。
这些地址提供了具体细节。