You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase邮箱验证重定向依赖即将停用的Dynamic Links,该如何处理?

问题描述

我希望实现Firebase邮箱验证后重定向回应用,使用的代码如下:

User? user = FirebaseAuth.instance.currentUser;
if (user != null && !user.emailVerified) {
var actionCodeSettings = ActionCodeSettings(
  url: 'https://www.example.com/?email=${user.email}',
  dynamicLinkDomain: 'example.page.link',
  androidPackageName: 'com.example.android',
  androidInstallApp: true,
  androidMinimumVersion: '12',
  iOSBundleId: 'com.example.ios',
  handleCodeInApp: true,
);
await user.sendEmailVerification(actionCodeSettings);
}

已替换域名及相关配置,但出现以下错误:

请在Firebase控制台中激活Dynamic Links并同意服务条款。[FDL域名未配置]

同时发现Firebase控制台显示Dynamic Links即将停用,请问该如何处理?

解决方案

一、临时解决当前报错(过渡用)

若需暂时解决Dynamic Links的配置错误,可按以下步骤操作:

  • 进入Firebase控制台的Dynamic Links模块,同意服务条款
  • 配置并验证example.page.link域名,确保项目的Android/iOS应用已关联该域名
  • 重新运行代码即可触发验证邮件

⚠️ 注意:Firebase已宣布Dynamic Links即将停用,此方案仅适合短期过渡,不建议长期依赖。

Firebase官方推荐用Android App Links 和 iOS Universal Links 替代Dynamic Links,实现验证后跳转回应用的功能,具体步骤如下:

1. 配置自定义域名的链接验证

  • Android(App Links):
    • 在Firebase控制台应用设置中启用App Links,绑定你的自定义域名(如https://www.example.com)
    • 在AndroidManifest.xml中添加intent-filter,关联该域名的验证路径
    • 上传assetlinks.json文件到域名的.well-known目录完成验证
  • iOS(Universal Links):
    • 在Firebase控制台应用设置中启用Universal Links,绑定自定义域名
    • 在Info.plist中添加关联域名配置及NSUserActivityTypes
    • 上传apple-app-site-association文件到域名的.well-known目录完成验证

2. 修改ActionCodeSettings配置

移除dynamicLinkDomain参数,直接使用已验证的自定义域名作为url,保持handleCodeInApp: true,示例代码:

User? user = FirebaseAuth.instance.currentUser;
if (user != null && !user.emailVerified) {
  var actionCodeSettings = ActionCodeSettings(
    url: 'https://www.example.com/verify-email?email=${user.email}',
    androidPackageName: 'com.example.android',
    androidInstallApp: true,
    androidMinimumVersion: '12',
    iOSBundleId: 'com.example.ios',
    handleCodeInApp: true,
  );
  await user.sendEmailVerification(actionCodeSettings);
}

3. 处理应用内跳转逻辑

  • Android:在MainActivity或自定义Link处理页面中,解析App Links携带的验证code,调用FirebaseAuth.instance.checkActionCode()和applyActionCode()完成邮箱验证
  • iOS:在AppDelegate或SceneDelegate中处理Universal Links,提取验证code并执行邮箱验证逻辑

内容的提问来源于stack exchange,提问作者amirhossein ghabeli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 17:21:10