Flutter

优质
小牛编辑
174浏览
2023-12-01

百度移动统计现已提供Flutter插件的支持,对于基于Flutter开发的APP,您可以按如下步骤使用百度移动统计SDK,完成基础的埋点统计和上报。

集成方法

  1. 在 Flutter 项目的 pubspec.yaml 文件中 dependencies 里面添加 baidu_mob_stat 依赖

    dependencies:
       baidu_mob_stat: ^0.0.2
    
  2. 执行 flutter packages get 命令安装插件

    flutter packages get
    
  3. 在ios 目录下执行 pod install 命令进行 iOS SDK 的集成

    cd ios
    pod install
    

Android初始化百度移动统计SDK

需要在mtj官网创建你自己的app,可获取到appkey。 在MainApplication的onCreat()方法中,添加如下初始化代码:

import com.baidu.mobstat.StatService;

public class MainActivity extends FlutterActivity {
  @Override
  protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //调试模式下,打开log开关,可以看到调试log
    //StatService.setDebugOn(true);
    //设置app发布渠道
    //StatService.setAppChannel(this, "appChannel", true) ;
    //设置app版本号
    //StatService.setAppVersionName(this,"1.0");
    //设置Appkey
    StatService.setAppKey("testAppkey");
    //启动sdk
    StatService.start(this);
  }
}

iOS初始化百度移动统计SDK

需要在mtj官网创建你自己的app,可获取到appkey。 如果iOS端选择的语言是Objective-C,在iOS工程的AppDelegate.m文件中,didFinishLaunchingWithOptions启动函数下,添加如下初始化代码:

 #import "BaiduMobStat.h"


 - (BOOL)application:(UIApplication *)application
     didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

     //调试模式下,可设置enableDebugOn属性为YES,可以看到调试log
     //[BaiduMobStat defaultStat].enableDebugOn = YES;
     //设置app发布渠道,可以不设置,默认为AppStore
     //[BaiduMobStat defaultStat].channelId = @"AppStore";
     //设置app版本号
     //[BaiduMobStat defaultStat].shortAppVersion = @"1.0";
     [[BaiduMobStat defaultStat] startWithAppId:@"APPKEY"];

     ......
 }

如果iOS端选择的语言是swift,在iOS工程的AppDelegate.swift文件中,didFinishLaunchingWithOptions启动函数下,添加如下初始化代码:

 import BaiduMobStat


 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    //调试模式下,可设置enableDebugOn属性为YES,可以看到调试log
    //BaiduMobStat.default().enableDebugOn = true
    //设置app发布渠道,可以不设置,默认为AppStore
    //BaiduMobStat.default().channelId = 'AppStore'
    //设置app版本号
    //BaiduMobStat.default().shortAppVersion = '1.0'
    BaiduMobStat.default().startWithAppId("APPKEY") 
  ......
 }

在Flutter中使用dart代码埋点

  1. 在dart文件中引入百度移动统计插件,如下:

    import 'package:baidu_mob_stat/baidu_mob_stat.dart';
    
  2. 添加事件埋点。需要埋点的事件EventID以及其attribute字典参数key,需要提前在mtj平台创建配置,具体步骤见事件配置中“eventid配置”部分以及“attribute配置”。在合适业务逻辑触点(如按钮点击触发),添加如下代码:

    //普通事件,参数:EventID、attribute字典
    BaiduMobStatFlutter.logEvent('EventID', {'key': 'value', 'key2': 'value2'});
    
    //已知时长事件,参数:EventID、时长(ms)、attribute字典
    BaiduMobStatFlutter.logDurationEvent('EventID', 3000, {'k1': 'v1'});
    
    //事件开始,参数:EventID
    BaiduMobStatFlutter.eventStart('EventID');
    
    //事件结束(与事件开始埋点成对使用),参数:EventID、attribute字典
    BaiduMobStatFlutter.eventEnd('Event3', {'k1': 'v1'});
    
  3. 添加页面埋点

    //页面开始,参数:PageName
    BaiduMobStatFlutter.pageStart('AnotherPage');
    
    //页面结束,参数:PageName
    BaiduMobStatFlutter.pageEnd('AnotherPage');
    
  4. 获取设备id与调试id

    //获取设备id
    BaiduMobStatFlutter.getDeviceCuid();
    
    //获取调试id
    BaiduMobStatFlutter.getTestDeviceId();
    
  5. 调用demo可详见demo工程:https://github.com/BaiduMobileAnalysis/baidumobstat-flutter