Flutter应用如何获取Facebook广告安装引荐的FBCLID参数
Flutter 应用获取Facebook广告安装携带FBCLID参数实现方案
首先明确核心前提:你当前广告配置的直接跳转Google Play的裸链接,就算带了fbclid参数,用户安装完应用首次打开时也是拿不到这个参数的——不管是Google Play还是App Store,都不会把应用商店页面的URL参数直接透传给安装后的应用,必须通过广告平台的SDK归因能力来获取对应参数,具体实现步骤如下:
- 调整广告链路配置
不要在Facebook广告里直接配置裸的应用商店链接,改用Facebook广告后台生成的支持延迟深度链接的广告链路,系统会自动在链路里携带归因标识,用户安装打开应用后,SDK会和Facebook服务侧通信,匹配到对应广告点击的全量参数,包含你需要的fbclid。 - 集成对应Flutter插件
使用flutter_facebook_app_events插件(Facebook官方事件SDK的Flutter封装),按照插件说明完成两端基础配置:- Android端:在
AndroidManifest.xml中配置Facebook App ID、客户端令牌,声明必要的网络权限 - iOS端:在
Info.plist中配置Facebook对应配置项,同时适配ATT权限弹窗,获取用户的设备追踪授权
- Android端:在
- 代码实现参数获取
在应用首次启动的初始化逻辑中,调用SDK提供的延迟深度链接查询方法,即可拿到对应广告链路携带的参数,参考代码如下:
import 'package:flutter/foundation.dart'; import 'package:flutter_facebook_app_events/flutter_facebook_app_events.dart'; class FbAttributionUtil { static final _fbAppEvents = FlutterFacebookAppEvents(); static Future<void> fetchInstallFbclid() async { try { // 拉取当前安装对应的延迟深度链接参数 final linkParams = await _fbAppEvents.getDeferredAppLink(); if (linkParams != null && linkParams['fbclid'] != null) { final String fbclid = linkParams['fbclid']; // 此处写入你自己的业务逻辑,比如上报归因数据、给用户发广告对应奖励等 debugPrint('安装来源FBCLID: $fbclid'); } } catch (e) { debugPrint('获取Facebook归因参数失败: $e'); } } }
- 场景补全
如果是用户已经安装过应用,点击广告链接直接唤起App的场景,除了上述SDK的自动捕获,也可以配合app_links插件监听应用唤起的Intent/Universal Link,直接从唤起链接中解析fbclid参数即可覆盖全场景。
测试提示:不需要每次都投放真实广告验证,可以在Facebook广告后台的测试工具中添加测试设备ID,模拟广告点击、安装、启动的全链路,验证参数获取逻辑是否正常。
内容的提问来源于stack exchange,提问作者Neel Sharma
相关产品推荐
相关产品推荐

