Flutter集成文档

诸葛io移动统计支持Flutter框架,以下为集成方法。

1.在项目中添加安装插件

在Flutter项目的pubspec.yaml文件中添加zhugeio依赖包

 dependencies:
  # zhugeio flutter plugin 
  zhugeio: ^1.0.2

执行flutter packages get 命令安装插件

  flutter packages get  

请参考:Flutter官网文档

2.Android端

2.1 添加诸葛分析所需相关权限:

<!--需要网络权限-->
<uses-permission  
  android:name="android.permission.INTERNET"/>
<!--需要获取网络状态-->
<uses-permission  
  android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission  
  android:name="android.permission.ACCESS_WIFI_STATE"/>
<!--获取设备唯一标识-->
<uses-permission  
  android:name="android.permission.READ_PHONE_STATE"/>

2.2 添加项目依赖

dependencies {
    implementation 'com.ZhugeioAnalytic:zhugeio:3.4.1'
}

2.3 初始化SDK

通过代码配置AppKey及Channel并启动;

若你希望通过代码传递appKey及渠道信息,请使用ZhugeParam实体类来定义信息,然后使用该参数初始化SDK:

import com.zhuge.analysis.stat.ZhugeParam;
import com.zhuge.analysis.stat.ZhugeSDK;

public class MainActivity extends FlutterActivity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    GeneratedPluginRegistrant.registerWith(this);
    ZhugeParam param = new ZhugeParam.Builder().appKey("appkey")
            .appChannel("channel")
            .build();
    ZhugeSDK.getInstance().initWithParam(getApplicationContext(), param);
  }
}

若是私有部署的用户,需要更改数据上传地址,请将上述onCreate()里的代码更改为:

@Override
      public void onCreate(){
         Super.onCreate();
         ...
         //设置上传地址,普通用户请勿更改。必须在调用init之前设置
         ZhugeSDK.getInstance().setUploadURL("URL","backupUrl");
         //ZhugeSDK初始化
         ZhugeSDK.getInstance().init(this,"your AppKey","youAppChannel");   
         ...

      }

3.iOS端

3.1 项目目录下执行pod install,依赖原始的SDK

cd ios
pod install

3.2 用应用的Appkey启动诸葛io SDK

    #import "Zhuge.h"

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [[Zhuge sharedInstance] startWithAppKey:@"Your AppKey" launchOptions:launchOptions];
}

若是私有部署的用户,需要更改数据上传地址,请将上述代码更改为:

    #import "Zhuge.h"

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        //设置上传地址,一般用户无需更改
        [[Zhuge sharedInstance] setUploadURL:@"URL" andBackupUrl:@"BackUpURL"];
        [[Zhuge sharedInstance] startWithAppKey:@"Your AppKey" launchOptions:launchOptions];
    }

如果你需要修改SDK的默认设置,如设置版本渠道时,一定要在startWithAppKey前执行;代码如下:

 Zhuge *zhuge = [Zhuge sharedInstance];

    // 实时调试开关
    // 设置为YES,可在诸葛io的「实时调试」页面实时观察事件数据上传
    // 建议仅在需要时打开,调试完成后,请及时关闭
    [zhuge.config setDebug : NO];

    // 自定义应用版本
    [zhuge.config setAppVersion:@"0.9-beta"]; // 默认是info.plist中CFBundleShortVersionString值

    // 自定义渠道
    [zhuge.config setChannel:@"My App Store"]; // 默认是@"App Store"

    // 开启行为追踪
    [zhuge startWithAppKey:@"Your AppKey" launchOptions:launchOptions];

4.Flutter中使用插件

在具体dart文件中导入zhugeio.dart

   import 'package:zhugeio/zhugeio.dart';

4.1 记录用户行为

在需要记录用户行为的部分,调用如下方法:

   Zhugeio.track('事件名称',{'属性1':'值1','属性2':'值2'});

**注意:**在添加事件属性时,需注意事件属性类型。如果事件属性类型为「数值型属性」,需要上传数据时修改数据类型为「数值型」,并且在诸葛io后台埋点管理中修改为「数值型」。

4.2 绑定用户信息

为了保持对用户的跟踪,你需要为他们记录一个识别码,可以使用手机号、email等唯一值来作为用户的识别码。另外,也可以在跟踪用户的时候, 记录用户更多的属性信息,便于你更了解你的用户:

   Zhugeio.identify('用户ID',{'用户属性':'用户值'})

4.3 统计事件时长

使用startTrack()开始事件

   Zhugeio.startTrack('事件名称');

使用endTrack()来结束具有相同事件名称的事件

   Zhugeio.endTrack('事件名称',{'属性1':'值1'});

startTrack()endTrack()需成对出现,单独使用没有效果。

4.4 开启实时调试

   Zhugeio.openDebug();

4.5 采集收入数据

记录收入数据采集,需调用trackRevenue函数,自动记录收入事件以及事件属性;price(商品价格)、productID(商品ID)、productQuantity(商品数量)、revenueType(收入类型)为收入事件内置属性,必传项。

具体使用方法如下:

Map product = {"price":229,  
               "productQuantity":2,
               "productID":"小米NFC手环",
               "revenueType":"手环"};
Zhugeio.trackRevenue(product);

Libraries

zhugeio