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

PlatformAndroidiOS
unlisted

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';
import "crashTest.dart";
import "inputTest.dart";
import "CustomInputTest.dart";

void main() =>
    Mzanalytics_bugService.exceptionListener(() => runApp(new MaterialApp(
          title: 'Navigation Basics',
          home: new MyApp(),
        )));
// void main() {
//   runApp(MyApp());
// }

class MyApp extends StatefulWidget {
  // 用于路由返回监听
  static final RouteObserver<PageRoute> routeObserver =
      RouteObserver<PageRoute>();
  @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: new Center(
          child: ListView(
            children: <Widget>[
              Container(
                alignment: Alignment.topCenter,
                child: Column(
                  mainAxisAlignment: MainAxisAlignment.center,
                  children: <Widget>[
                    ElevatedButton(
                      key: Key("key1"),
                      onPressed: () {
                        MzanalyticsMybmw.appid("4181");
                      },
                      child: Text('初始化'),
                    ),
                    ElevatedButton(
                      key: Key("key1_2"),
                      onPressed: () {
                        MzanalyticsMybmw.enableExceptionService(true);
                      },
                      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": "14",
                            "cal1":
                                "\\U6c7d\\U8f66\\U9999\\U85b0\\U68d2\\U8f66\\U8f7d\\U82b3\\U9999\\U5242\\U8865\\U5145\\U88c56\\U79cd\\U9999\\U578b\\U82b3\\U9999\\U68d2 ",
                            "cal2": "",
                            "cal3": "2685",
                            "cal4": "AFSStoreIndex-Campaigns2ndProduct-Click-1",
                            "cav1": "0",
                          },
                          "CustomDimMetrics": {
                            "cd1": "0",
                          }
                        });
                      },
                      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("cd6", "9999");
                      },
                      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"),
                    ),
                    ElevatedButton(
                      key: Key("key12"),
                      onPressed: () {
                        MzanalyticsMybmw.setCAIDandVersion({
                          'currentCAID': 'e2b3d6e424963853821b2188cc5a00',
                          'currentCAIDVersion': '20210622',
                          'lastCAID': 'e2b3d6e424963853821b2188c11111',
                          'lastCAIDVersion': '20210303'
                        });
                      },
                      child: Text("设置caid和version"),
                    ),
                    ElevatedButton(
                      key: Key("key13"),
                      onPressed: () {
                        Navigator.of(context).push(MaterialPageRoute(
                            settings: RouteSettings(name: "进入测试页面"),
                            builder: (BuildContext context) => CrashTestApp()));
                      },
                      child: Text('crash测试页'),
                    ),
                    ElevatedButton(
                      key: Key("key14"),
                      onPressed: () {
                        Navigator.of(context).push(MaterialPageRoute(
                            settings: RouteSettings(name: "进入输入页面"),
                            builder: (BuildContext context) => InputTestApp()));
                      },
                      child: Text('输入框测试页'),
                    ),
                    ElevatedButton(
                      key: Key("key15"),
                      onPressed: () {
                        Navigator.of(context).push(MaterialPageRoute(
                            settings: RouteSettings(name: "进入json输入页面"),
                            builder: (BuildContext context) =>
                                CustomInputTestApp()));
                      },
                      child: Text('json测试页'),
                    ),
                  ],
                ),
              )
            ],
          ),
        ),
      ),
    );
  }

  /// 使用[String]链接实现
  Future<void> initPlatformStateForStringUniLinks() async {
    String initialLink;
    // App start
    try {
      initialLink = await getInitialLink();
      MzanalyticsMybmw.onDeepLinkReceived(initialLink ?? "");
      print('initial link: $initialLink');
      if (initialLink is String) {
        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
120
points
387
downloads

Publisher

unverified uploader

Weekly Downloads

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

Homepage

Documentation

API reference

License

unknown (license)

Dependencies

built_collection, flutter

More

Packages that depend on mzanalytics_mybmw

Packages that implement mzanalytics_mybmw