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": "1aa" //需统计的自定义指标的数值,如用户个数为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": "2020/01/10",
93 : "cal2": "北京",
94 : "cav1": "20"
95 : },
96 1 : "CustomDimMetrics": {
97 : "cd1": "ID88888", //需统计的自定义维度,如触发注册事件的用户Id
98 : "cm1": "1" //需统计的自定义指标,如触发高级事件的用户数1
99 : }
100 : });
101 : },
102 1 : child: Text('高级自定义事件'),
103 : ),
104 1 : RaisedButton(
105 1 : key: Key("key5"),
106 1 : onPressed: () {
107 1 : MzanalyticsMybmw.trackPulse();
108 : },
109 1 : child: Text('心跳事件'),
110 : ),
111 1 : RaisedButton(
112 1 : key: Key("key6"),
113 1 : onPressed: () {
114 1 : getcid();
115 : },
116 3 : child: Text('cid: $_cid\n'),
117 : ),
118 1 : RaisedButton(
119 1 : key: Key("key8"),
120 1 : onPressed: () {
121 1 : MzanalyticsMybmw.setCd("cd2", "ID12930");
122 : },
123 1 : child: Text("设置cd"),
124 : ),
125 1 : RaisedButton(
126 1 : key: Key("key9"),
127 1 : onPressed: () {
128 1 : MzanalyticsMybmw.setCm("cm2", "1001");
129 : },
130 1 : child: Text("设置cm"),
131 : ),
132 1 : RaisedButton(
133 1 : key: Key("key10"),
134 1 : onPressed: () {
135 1 : MzanalyticsMybmw.deleteCd("cd2");
136 : },
137 1 : child: Text("删除cd"),
138 : ),
139 1 : RaisedButton(
140 1 : key: Key("key11"),
141 1 : onPressed: () {
142 1 : MzanalyticsMybmw.deleteCd("cm2");
143 : },
144 1 : child: Text("删除cm"),
145 : ),
146 : ],
147 : ),
148 : ),
149 : ),
150 : );
151 : }
152 : }
|