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

Android 13设备上Flutter Dynamic Links无法打开,低版本正常如何修复?

解决Flutter Dynamic Links在Android 13上无法打开的问题

针对你遇到的Dynamic Links仅在Android 13设备上失效的问题,可按以下步骤排查修复:

  • 更新Firebase Dynamic Links插件
    旧版本插件未适配Android 13的新规则,先确保pubspec.yaml中使用最新稳定版:

    firebase_dynamic_links: ^最新稳定版本号
    

    执行flutter pub get完成更新。

  • 补充包可见性配置
    Android 13收紧了包可见性限制,当前<queries>配置不足以支持Dynamic Links与浏览器、Firebase服务的交互,修改为:

    <queries>
        <intent>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="https" />
        </intent>
        <!-- 允许访问Firebase核心服务 -->
        <package android:name="com.google.android.gms" />
    </queries>
    
  • 确认应用链接验证配置
    你的Intent Filter已开启android:autoVerify="true",需确保域名下的/.well-known/assetlinks.json文件配置正确,该文件需关联应用的签名指纹,否则Android 11+设备会跳过应用链接验证,直接用浏览器打开链接。

  • 添加Android 13通知权限
    若动态链接通过通知触发跳转,Android 13要求必须申请POST_NOTIFICATIONS权限,在AndroidManifest.xml中添加:

    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
    

    同时在Flutter代码中主动请求该权限(当应用targetSdkVersion≥33时)。

  • 检查动态链接处理逻辑
    确保Flutter代码中正确监听并处理动态链接,包括冷启动时的初始链接和热启动时的实时链接:

    @override
    void initState() {
      super.initState();
      _setupDynamicLinks();
    }
    
    void _setupDynamicLinks() async {
      // 处理冷启动时的初始链接
      final initialLink = await FirebaseDynamicLinks.instance.getInitialLink();
      if (initialLink != null) {
        _processDeepLink(initialLink.link);
      }
    
      // 监听实时链接
      FirebaseDynamicLinks.instance.onLink.listen((linkData) {
        _processDeepLink(linkData.link);
      }).onError((error) {
        // 处理链接监听错误
      });
    }
    
    void _processDeepLink(Uri deepLink) {
      // 在这里实现你的深层链接业务逻辑
    }
    
  • 用adb命令测试Intent跳转
    在Android 13设备上执行以下命令,验证Intent Filter是否生效:

    adb shell am start -a android.intent.action.VIEW -d "https://plone.page.link/你的测试路径" 你的应用包名
    

    如果命令能唤起应用,说明Intent Filter配置正常,问题出在Dynamic Links的服务端或插件逻辑;如果不能,重新检查Intent Filter和包可见性配置。

内容的提问来源于stack exchange,提问作者mudassar maqbool

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 18:33:30