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

Firebase Dynamic Links onLink函数报错,需实现链接跳转页面功能

Firebase动态链接onLink调用报错修复方案

错误原因及修复步骤

1. 「The expression doesn't evaluate to a function, so it can't be invoked.」

该错误源于调用方式不符合新版Firebase动态链接SDK语法。旧版SDK中onLink是可直接调用的函数,但在Flutter Firebase Dynamic Links v4及以上版本中,onLink已改为流对象,需通过listen方法监听链接事件。

替换为正确的代码写法:

// 废弃的旧写法(会报错)
// FirebaseDynamicLinks.instance.onLink(...);

// 新版正确监听方式
FirebaseDynamicLinks.instance.onLink.listen((PendingDynamicLinkData? linkData) {
  final Uri? deepLink = linkData?.link;
  if (deepLink != null) {
    // 这里处理跳转逻辑,比如导航到指定页面
    // Navigator.pushNamed(context, deepLink.path);
  }
}).onError((error) {
  // 捕获并处理监听错误
  print('动态链接监听异常: $error');
});

2. 「Undefined class 'OnLinkErrorException'.」

新版SDK已移除OnLinkErrorException类,无需再显式引用该异常类型。直接通过上述代码中的onError回调捕获错误即可,无需额外定义该异常。

额外验证项

  • 确保pubspec.yaml中firebase_dynamic_links依赖为最新稳定版:
    dependencies:
      firebase_dynamic_links: ^最新版本号
    
  • 执行flutter pub get更新依赖。
  • 检查Android的AndroidManifest.xml、iOS的Info.plist是否已按Firebase文档完成动态链接的配置。

内容的提问来源于stack exchange,提问作者sadil manjiyani

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 23:50:37