Flutter模糊归因分析插件dy_fuzzy_attribution的使用

Flutter模糊归因分析插件dy_fuzzy_attribution的使用

dy_fuzzy_attribution

抖音模糊归因相关方案。

方法介绍

  • getIOSStartTime
    获取iOS设备启动时间。

  • getIOSSystemUpdateTime
    获取iOS系统更新时间。

  • getUserAgent
    获取用户代理(User-Agent)。

  • getIDFA
    获取广告标识符(IDFA)。

  • getPlatform
    获取设备编码。

  • getIP
    获取IP地址,但目前获取到的值可能不准确。


使用示例

以下是一个完整的示例代码,展示如何在Flutter项目中使用dy_fuzzy_attribution插件。

示例代码

import 'package:flutter/material.dart';
import 'package:dy_fuzzy_attribution/dy_fuzzy_attribution.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  /// 获取iOS设备启动时间
  getIOSStartTime() async {
    var time = await DyFuzzyAttribution().getIOSStartTime();
    debugPrint("getIOSStartTime -> $time"); // 打印结果
  }

  /// 获取iOS系统更新时间
  getIOSSystemUpdateTime() async {
    var time = await DyFuzzyAttribution().getIOSSystemUpdateTime();
    debugPrint("getIOSSystemUpdateTime -> $time"); // 打印结果
  }

  /// 获取用户代理(User-Agent)
  getUserAgent() async {
    var userAgent = await DyFuzzyAttribution().getUserAgent();
    debugPrint("getUserAgent -> $userAgent"); // 打印结果
  }

  /// 获取广告标识符(IDFA)
  getIDFA() async {
    var idfa = await DyFuzzyAttribution().getIDFA();
    debugPrint("getIDFA -> $idfa"); // 打印结果
  }

  /// 获取iOS设备编码
  getPlatform() async {
    var platform = await DyFuzzyAttribution().getPlatform();
    debugPrint("getPlatform -> $platform"); // 打印结果
  }

  /// 获取IP地址
  getIP() async {
    var ip = await DyFuzzyAttribution().getIP();
    debugPrint("getIP -> $ip"); // 打印结果
  }

  @override
  void initState() {
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('dy_fuzzy_attribution 示例'),
        ),
        body: Column(
          crossAxisAlignment: CrossAxisAlignment.center,
          children: [
            ElevatedButton(
              onPressed: getIOSStartTime,
              child: const Text("获取iOS设备启动时间"),
            ),
            ElevatedButton(
              onPressed: getIOSSystemUpdateTime,
              child: const Text("获取iOS更新系统时间"),
            ),
            ElevatedButton(
              onPressed: getUserAgent,
              child: const Text("获取UA (User-Agent)"),
            ),
            ElevatedButton(
              onPressed: getIDFA,
              child: const Text("获取IDFA"),
            ),
            ElevatedButton(
              onPressed: getPlatform,
              child: const Text("获取iOS设备编码"),
            ),
            ElevatedButton(
              onPressed: getIP,
              child: const Text("获取IP地址"),
            ),
          ],
        ),
      ),
    );
  }
}

运行效果

运行上述代码后,点击按钮即可触发相应的功能,并在控制台打印结果。以下是运行界面的截图:

示例运行界面


注意事项

  1. 插件依赖
    pubspec.yaml文件中添加依赖:
    dependencies:
      dy_fuzzy_attribution: ^1.0.0
    

更多关于Flutter模糊归因分析插件dy_fuzzy_attribution的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter模糊归因分析插件dy_fuzzy_attribution的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


dy_fuzzy_attribution 是一个用于 Flutter 的模糊归因分析插件,主要用于帮助开发者进行用户行为分析和归因。通过该插件,开发者可以追踪用户的行为路径,分析用户来源,以及进行模糊匹配等操作。

安装

首先,你需要在 pubspec.yaml 文件中添加 dy_fuzzy_attribution 插件的依赖:

dependencies:
  flutter:
    sdk: flutter
  dy_fuzzy_attribution: ^1.0.0  # 请使用最新版本

然后运行 flutter pub get 来安装依赖。

基本使用

1. 初始化插件

在使用插件之前,通常需要先进行初始化。你可以在 main.dart 文件中进行初始化操作:

import 'package:dy_fuzzy_attribution/dy_fuzzy_attribution.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  // 初始化插件
  await DyFuzzyAttribution.init(
    appId: 'YOUR_APP_ID',  // 替换为你的应用ID
    channel: 'YOUR_CHANNEL',  // 替换为你的渠道
  );
  
  runApp(MyApp());
}

2. 追踪用户事件

你可以使用 DyFuzzyAttribution 来追踪用户的事件,例如用户点击、页面浏览等:

DyFuzzyAttribution.trackEvent(
  eventName: 'button_click',  // 事件名称
  properties: {'button_id': 'login_button'},  // 事件属性
);

3. 用户归因分析

你可以通过 DyFuzzyAttribution 获取用户的归因信息,例如用户来源、渠道等:

DyFuzzyAttribution.getAttribution().then((attribution) {
  print('User attribution: $attribution');
});

4. 模糊匹配

dy_fuzzy_attribution 还支持模糊匹配功能,可以帮助你进行用户行为的模糊匹配分析:

DyFuzzyAttribution.fuzzyMatch(
  eventName: 'purchase',  // 事件名称
  properties: {'amount': 100},  // 事件属性
).then((result) {
  print('Fuzzy match result: $result');
});

高级功能

1. 自定义归因规则

你可以通过 DyFuzzyAttribution 自定义归因规则,以满足特定的业务需求:

DyFuzzyAttribution.setCustomAttributionRule(
  rule: (event) {
    // 自定义归因逻辑
    return 'custom_attribution';
  },
);

2. 用户属性设置

你可以设置用户的属性,以便在归因分析中使用:

DyFuzzyAttribution.setUserProperties(
  properties: {'user_id': '12345', 'user_name': 'John Doe'},
);

3. 调试模式

在开发过程中,你可以启用调试模式,以便查看详细的日志信息:

DyFuzzyAttribution.setDebugMode(enabled: true);
回到顶部