mzanalytics_mybmw 0.5.0 copy "mzanalytics_mybmw: ^0.5.0" to clipboard
mzanalytics_mybmw: ^0.5.0 copied to clipboard

unlistedoutdated

One for BMW Group to use flutter plug-in, data collection and analysis.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:mzanalytics_mybmw/mzanalytics_mybmw.dart';
// import 'package:mzanalytics_mybmw/mzanalytics_bugService.dart';
import 'package:uni_links/uni_links.dart';

// void main() => Mzanalytics_bugService.exceptionListener(
//       () => runApp(MyApp()),
//     );
void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  String _cid = 'Unknown';
  String _oaid = 'Unknown';
  String _myevent = '自定义事件';

  @override
  void initState() {
    super.initState();
    this.initPlatformStateForStringUniLinks();
  }

  // Platform messages are asynchronous, so we initialize in an async method.

  void getcid() async {
    // callback function

    String cid = await MzanalyticsMybmw.getCid();

    setState(() {
      _cid = cid;
    });
  }

  @override
  Widget build(BuildContext context) {
    MzanalyticsMybmw.logEnabled(true);
    return MaterialApp(
      // navigatorObservers: [MZNavigationHistoryObserver()],
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Plugin example app'),
        ),
        body: Container(
          padding: EdgeInsets.all(10.0),
          child: Column(
            children: <Widget>[
              ElevatedButton(
                key: Key("key1"),
                onPressed: () {
                  MzanalyticsMybmw.appid("3852");
                },
                child: Text('初始化'),
              ),
              // ElevatedButton(
              //   key: Key("key1_2"),
              //   onPressed: () {
              //     MzanalyticsMybmw.enableExceptionService(true);
              //     print("启动crash采集成功");
              //   },
              //   child: Text('启动crash采集'),
              // ),
              ElevatedButton(
                key: Key("key2"),
                onPressed: () {
                  // var w = [];
                  // print(w[1]);
                  MzanalyticsMybmw.trackPageView({
                    "dt": "首页",
                    "CustomDimMetrics": {
                      "cd1": "ID88888", //需统计的自定义维度1的名称,如浏览该页面的用户Id
                      "cd2": "小明机器人", //需统计的自定义维度2的名称,如浏览页面的用户名称
                      "cm1": "1" //需统计的自定义指标的数值,如用户个数为1
                    }
                  });
                },
                child: Text('页面事件'),
              ),
              ElevatedButton(
                key: Key("key3"),
                onPressed: () {
                  MzanalyticsMybmw.trackEvent({
                    "ec": "领取奖励",
                    "ea": "Click",
                    "el": "任务箱领取奖励",
                    "CustomDimMetrics": {
                      "cd3": "首次登陆任务箱", //需统计的自定义维度名称,如任务箱名称
                      "cm2": "2" //需统计的自定义指标数值,如打开的任务箱个数,共2个
                    }
                  });
                },
                child: Text('自定义事件监测'),
              ),
              ElevatedButton(
                key: Key("key4"),
                onPressed: () {
                  MzanalyticsMybmw.trackSiteCustomEvent({
                    "CustomEvent": {
                      "caid": "1",
                      "cal1": "a",
                      "cal2": "北京",
                      "cav21": "21",
                      'cal21': '21',
                    },
                    "CustomDimMetrics": {
                      "cd1": "ID88888", //需统计的自定义维度,如触发注册事件的用户Id
                      "cm1": "1" //需统计的自定义指标,如触发高级事件的用户数1
                    }
                  });
                },
                child: Text('高级自定义事件'),
              ),
              ElevatedButton(
                key: Key("key5"),
                onPressed: () {
                  MzanalyticsMybmw.trackPulse();
                },
                child: Text('心跳事件'),
              ),
              ElevatedButton(
                key: Key("key6"),
                onPressed: () {
                  getcid();
                },
                child: Text('cid: $_cid\n'),
              ),
              ElevatedButton(
                key: Key("key8"),
                onPressed: () {
                  MzanalyticsMybmw.setCd("cd2", "ID12930");
                },
                child: Text("设置cd"),
              ),
              ElevatedButton(
                key: Key("key9"),
                onPressed: () {
                  MzanalyticsMybmw.setCm("cm2", "1001");
                },
                child: Text("设置cm"),
              ),
              ElevatedButton(
                key: Key("key10"),
                onPressed: () {
                  MzanalyticsMybmw.deleteCd("cd2");
                },
                child: Text("删除cd"),
              ),
              ElevatedButton(
                key: Key("key11"),
                onPressed: () {
                  MzanalyticsMybmw.deleteCd("cm2");
                },
                child: Text("删除cm"),
              ),
            ],
          ),
        ),
      ),
    );
  }

  /// 使用[String]链接实现
  Future<void> initPlatformStateForStringUniLinks() async {
    String initialLink;
    // App start
    try {
      initialLink = await getInitialLink();
      MzanalyticsMybmw.onDeepLinkReceived(initialLink);
      print('initial link: $initialLink');
      if (initialLink != null) {
        print('initialLink--$initialLink');
        //  跳转到指定页面
        // schemeJump(context, initialLink);
      }
    } on PlatformException {
      initialLink = 'Failed to get initial link.';
    } on FormatException {
      initialLink = 'Failed to parse the initial link as Uri.';
    }
    //  App running
    getLinksStream().listen((String link) {
      print('link--$link');
      MzanalyticsMybmw.onDeepLinkReceived(link);
      //  跳转到指定页面
    }, onError: (Object err) {});
  }
}
1
likes
0
points
387
downloads

Publisher

unverified uploader

Weekly Downloads

One for BMW Group to use flutter plug-in, data collection and analysis.

Homepage

License

unknown (license)

Dependencies

built_collection, flutter

More

Packages that depend on mzanalytics_mybmw

Packages that implement mzanalytics_mybmw