Flutter SDK
诸葛io移动统计支持Flutter框架,以下为集成方法。
1.在项目中添加安装插件
在Flutter项目的pubspec.yaml
文件中添加zhugeio
依赖包
dependencies:
# zhugeio flutter plugin
zhuge: ^1.0.5
执行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 'io.github.zhugefe:zhugeio-analytics:latest.integration'
}
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);
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文件中导入zhuge.dart
import 'package:zhuge/zhuge.dart';
4.1 记录用户行为
在需要记录用户行为的部分,调用如下方法:
Zhuge.track('事件名称',{'属性1':'值1','属性2':'值2'});
注意:在添加事件属性时,需注意事件属性类型。如果事件属性类型为「数值型属性」,需要上传数据时修改数据类型为「数值型」,并且在诸葛io后台埋点管理中修改为「数值型」。
4.2 绑定用户信息
为了保持对用户的跟踪,你需要为他们记录一个识别码,可以使用手机号、email等唯一值来作为用户的识别码。另外,也可以在跟踪用户的时候, 记录用户更多的属性信息,便于你更了解你的用户:
Zhuge.identify('用户ID',{'用户属性':'用户值'})
4.3 采集收入数据
记录收入数据采集,需调用trackRevenue函数,自动记录收入事件以及事件属性;price(商品价格)、productID(商品ID)、productQuantity(商品数量)、revenueType(收入类型)为收入事件内置属性,必传项。
具体使用方法如下:
Map product = {"price":229,
"productQuantity":2,
"productID":"小米NFC手环",
"revenueType":"手环"};
Zhuge.trackRevenue(product);