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

Flutter跨平台动态链接实现及Firebase Dynamic Links免费替代方案咨询

Flutter跨平台深度链接+安装归因实现方案

一、核心实现逻辑

你要的三个场景本质是深度链接唤起应用 + 安装后归因跳转,核心流程如下:

  • 生成分享内容:在Flutter内生成带商品参数的深度链接,再通过二维码生成库转成二维码供用户分享。
  • 跳转分流:
    • 已安装应用:通过Android的App Links或iOS的Universal Links直接唤起应用,应用解析链接参数跳转到对应商品页。
    • 未安装应用:链接先跳转到中转页面,检测设备后引导至对应应用商店,同时留存商品参数;用户安装后首次启动应用时,读取归因参数跳转至商品页。

二、Firebase Dynamic Links的免费替代方案

1. Branch.io(免费版)

这是目前最成熟的替代方案,免费版每月支持10万次点击,完全覆盖你的需求,Flutter有官方插件支持。

  • 集成步骤:
    • 在Branch后台配置App Links/Universal Links,绑定你的应用包名/ID。
    • 集成branch_io插件到Flutter项目,初始化时获取跳转参数:
      import 'package:branch_io/branch_io.dart';
      
      void initBranch() async {
        await BranchIO.init('你的Branch后台Key');
        final params = await BranchIO.getLatestReferringParams();
        if (params['product_id'] != null) {
          // 跳转商品页示例
          // Navigator.pushNamed(context, '/product', arguments: params['product_id']);
        }
      }
      
    • 生成带商品参数的分享链接:
      Future<String> generateProductShareLink(String productId) async {
        final linkProps = LinkProperties(channel: 'app_share', feature: 'product');
        final controlParams = ControlParams(product_id: productId);
        return await BranchIO.generateShortUrl(linkProps, controlParams);
      }
      
    • 用qr_flutter插件把链接转成二维码:
      import 'package:qr_flutter/qr_flutter.dart';
      
      QRImageView(
        data: generatedShareLink,
        size: 200,
        version: QRVersions.auto,
      )
      

2. 自定义方案(完全免费)

如果你不想依赖第三方服务,可以自己搭建中转页+原生深度链接配置,完全可控:

  • 配置原生深度链接:
    • Android:在AndroidManifest.xml中添加intent-filter配置App Links,同时在你的域名下上传assetlinks.json文件验证关联。
    • iOS:在Xcode中开启「Associated Domains」,添加applinks:你的域名,并在域名下上传apple-app-site-association文件。
  • 搭建中转页:
    用静态HTML页面(可部署在Vercel、Netlify等免费平台),通过JS判断用户设备:
    • 若检测到已安装应用,直接唤起深度链接(如yourapp://product?id=xxx);
    • 未安装则跳转到对应应用商店,Android带上referrer参数(如play.google.com/store/apps/details?id=你的包名&referrer=product_id=123),iOS跳App Store链接。
  • 应用端读取参数:
    • Android:用install_referrer插件读取Play Store的referrer参数;
    • iOS:通过UIApplicationDelegate的continueUserActivity方法获取Universal Links参数;
    • 应用启动时解析参数,跳转至对应商品页。

三、注意事项

  • 不管用哪种方案,都需要确保App Links/Universal Links配置正确,否则无法直接唤起已安装的应用。
  • 自定义方案中,Android的referrer参数可能存在延迟,建议配合后端存储用户点击记录(用设备标识关联),提升归因准确性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 07:19:57