mzanalytics_mybmw 0.2.4
mzanalytics_mybmw: ^0.2.4 copied to clipboard
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_example/main_second.dart";
import 'package:uni_links/uni_links.dart';
void main() {
runApp(new MaterialApp(
title: 'Navigation Basics',
home: new FirstScreen(),
navigatorObservers: [mz_navigation_history_observer()]));
}
class FirstScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
mzanalytics_mybmw.appid("2814");
this.initPlatformStateForStringUniLinks();
return MaterialApp(
home: Scaffold(
appBar: new AppBar(
title: new Text('First Screen'),
),
body: new Center(
child: Column(children: <Widget>[
RaisedButton(
child: new Text('存储自定义事件'),
onPressed: () {
// var parameter = {
// 'eventClassify': '点击热门banner',
// 'eventAction': 'Click',
// 'eventTag': '点击',
// 'cd1': 'cd1value22222222222',
// 'cm1': 'cm1value22222222222'
// };
mzanalytics_mybmw.setCd("cd1", "cd1vvvvvv");
mzanalytics_mybmw.setCm("cm1", "cm1vvvvvv");
},
),
RaisedButton(
child: new Text('跳转页面'),
onPressed: () {
Navigator.of(context).push(MaterialPageRoute(
settings: RouteSettings(name: "111222333"),
builder: (BuildContext context) => MyApp()));
},
),
RaisedButton(
child: new Text('进入测试页面'),
onPressed: () {
// Navigator.push(
// context,
// new MaterialPageRoute(
// builder: (context) => new SecondScreen()),
// );
Navigator.of(context).push(MaterialPageRoute(
settings: RouteSettings(name: "进入测试页面"),
builder: (BuildContext context) => SecondScreen()));
},
),
]),
)),
);
}
/// 使用[String]链接实现
Future<void> initPlatformStateForStringUniLinks() async {
String initialLink;
// App start
try {
initialLink = await getInitialLink();
mzanalytics_mybmw.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');
mzanalytics_mybmw.onDeepLinkReceived(link);
// 跳转到指定页面
}, onError: (Object err) {});
}
}
class SecondScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text("Second Screen"),
),
body: new Center(
child: new RaisedButton(
onPressed: () {
Navigator.pop(context);
mzanalytics_mybmw.getBlackList().then((List blackList) {
print(blackList);
});
},
child: new Text('Go back!'),
),
),
);
}
}