Line data Source code
1 : import 'package:flutter/material.dart';
2 :
3 : import 'package:mzanalytics_mybmw/mzanalytics_mybmw.dart';
4 :
5 0 : void main() {
6 0 : runApp(MyApp());
7 : }
8 :
9 : class MyApp extends StatefulWidget {
10 1 : @override
11 1 : _MyAppState createState() => _MyAppState();
12 : }
13 :
14 : class _MyAppState extends State<MyApp> {
15 : String _cid = 'Unknown';
16 : String _oaid = 'Unknown';
17 : String _myevent = '自定义事件';
18 :
19 1 : @override
20 : void initState() {
21 1 : super.initState();
22 : }
23 :
24 : // Platform messages are asynchronous, so we initialize in an async method.
25 :
26 1 : void getcid() async {
27 : // callback function
28 :
29 2 : String cid = await MzanalyticsMybmw.getCid();
30 :
31 2 : setState(() {
32 1 : _cid = cid;
33 : });
34 : }
35 :
36 1 : @override
37 : Widget build(BuildContext context) {
38 1 : MzanalyticsMybmw.logEnabled(true);
39 1 : return MaterialApp(
40 : // navigatorObservers: [MZNavigationHistoryObserver()],
41 1 : home: Scaffold(
42 1 : appBar: AppBar(
43 : title: const Text('Plugin example app'),
44 : ),
45 1 : body: Container(
46 1 : padding: EdgeInsets.all(10.0),
47 1 : child: Column(
48 1 : children: <Widget>[
49 1 : RaisedButton(
50 1 : key: Key("key1"),
51 1 : onPressed: () {
52 1 : MzanalyticsMybmw.appid("2814");
53 : },
54 1 : child: Text('初始化'),
55 : ),
56 1 : RaisedButton(
57 1 : key: Key("key2"),
58 1 : onPressed: () {
59 2 : MzanalyticsMybmw.trackPageView({
60 : "dt": "首页",
61 1 : "CustomDimMetrics": {
62 : "cd1": "ID88888", //需统计的自定义维度1的名称,如浏览该页面的用户Id
63 : "cd2": "小明机器人", //需统计的自定义维度2的名称,如浏览页面的用户名称
64 : "cm1": "1" //需统计的自定义指标的数值,如用户个数为1
65 : }
66 : });
67 : },
68 1 : child: Text('页面事件'),
69 : ),
70 1 : RaisedButton(
71 1 : key: Key("key3"),
72 1 : onPressed: () {
73 2 : MzanalyticsMybmw.trackEvent({
74 : "ec": "领取奖励",
75 : "ea": "Click",
76 : "el": "任务箱领取奖励",
77 : "ev": "10",
78 1 : "CustomDimMetrics": {
79 : "cd3": "首次登陆任务箱", //需统计的自定义维度名称,如任务箱名称
80 : "cm2": "2" //需统计的自定义指标数值,如打开的任务箱个数,共2个
81 : }
82 : });
83 : },
84 1 : child: Text('自定义事件监测'),
85 : ),
86 1 : RaisedButton(
87 1 : key: Key("key4"),
88 1 : onPressed: () {
89 2 : MzanalyticsMybmw.trackSiteCustomEvent({
90 1 : "CustomEvent": {
91 : "caid": "1",
92 : "cal1": "a",
93 : "cal2": "北京",
94 : "cav21": "21",
95 : 'cal21': '21',
96 : },
97 1 : "CustomDimMetrics": {
98 : "cd1": "ID88888", //需统计的自定义维度,如触发注册事件的用户Id
99 : "cm1": "1" //需统计的自定义指标,如触发高级事件的用户数1
100 : }
101 : });
102 : },
103 1 : child: Text('高级自定义事件'),
104 : ),
105 1 : RaisedButton(
106 1 : key: Key("key5"),
107 1 : onPressed: () {
108 1 : MzanalyticsMybmw.trackPulse();
109 : },
110 1 : child: Text('心跳事件'),
111 : ),
112 1 : RaisedButton(
113 1 : key: Key("key6"),
114 1 : onPressed: () {
115 1 : getcid();
116 : },
117 3 : child: Text('cid: $_cid\n'),
118 : ),
119 1 : RaisedButton(
120 1 : key: Key("key8"),
121 1 : onPressed: () {
122 1 : MzanalyticsMybmw.setCd("cd2", "ID12930");
123 : },
124 1 : child: Text("设置cd"),
125 : ),
126 1 : RaisedButton(
127 1 : key: Key("key9"),
128 1 : onPressed: () {
129 1 : MzanalyticsMybmw.setCm("cm2", "1001");
130 : },
131 1 : child: Text("设置cm"),
132 : ),
133 1 : RaisedButton(
134 1 : key: Key("key10"),
135 1 : onPressed: () {
136 1 : MzanalyticsMybmw.deleteCd("cd2");
137 : },
138 1 : child: Text("删除cd"),
139 : ),
140 1 : RaisedButton(
141 1 : key: Key("key11"),
142 1 : onPressed: () {
143 1 : MzanalyticsMybmw.deleteCd("cm2");
144 : },
145 1 : child: Text("删除cm"),
146 : ),
147 : ],
148 : ),
149 : ),
150 : ),
151 : );
152 : }
153 : }
|