msh_mesg_tracking_v2 1.0.0 msh_mesg_tracking_v2: ^1.0.0 copied to clipboard
An Flutter plugin for log tracking based on MesgLogTrackingV2, support Android & iOS.
import 'dart:ui';
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:msh_mesg_tracking_v2/msh_mesg_tracking_v2.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
String _log = "LogEvent MessLogTrackingV2 flutter";
@override
void initState() {
super.initState();
WidgetsBinding.instance.addObserver(this);
getVersionLib();
getDeviceId();
}
Future<void> handlerAppOpen() async {
var result = await MegsLogTrackingV2.handleAppOpen();
setState(() {
_log = "$_log\nhandler app open: $result";
});
}
Future<void> handleAppQuit() async {
var result = await MegsLogTrackingV2.handleAppQuit();
setState(() {
_log = "$_log\nhandleAppQuit: $result";
});
}
Future<void> getDeviceId() async {
String deviceId = await MegsLogTrackingV2.getDeviceId;
setState(() {
_log = "$_log\nGet deviceId: $deviceId";
print(deviceId);
});
}
Future<void> getVersionLib() async {
String version = await MegsLogTrackingV2.getLibVersion;
setState(() {
_log = "$_log\n Get version lib: $version";
});
}
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
appBar: AppBar(
title: const Text('MessLogV2Tracking Example'),
),
body: Center(
child: Column(
children: [
Container(
width: double.infinity,
child: RaisedButton(
child: Text('_handleAppOpen'),
onPressed: handlerAppOpen,
),
),
Container(
width: double.infinity,
child: InkWell(
child: RaisedButton(
child: Text('_handleAppQuit'),
onPressed: handleAppQuit,
),
),
),
SingleChildScrollView(
scrollDirection: Axis.vertical,
child: Text('$_log'),
)
],
),
),
),
);
}
@override
void dispose() {
WidgetsBinding.instance.removeObserver(this);
super.dispose();
}
@override
void didUpdateWidget(MyApp oldWidget) {
print("didUpdateWidget");
super.didUpdateWidget(oldWidget);
}
@override
void didChangeDependencies() {
super.didChangeDependencies();
print("didChangeDependencies");
}
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
switch (state) {
case AppLifecycleState.resumed:
print("App resumed");
break;
case AppLifecycleState.inactive:
print("App inactive");
break;
case AppLifecycleState.paused:
print("App paused");
break;
case AppLifecycleState.detached:
print("App detached");
break;
}
super.didChangeAppLifecycleState(state);
}
@override
void deactivate() {
super.deactivate();
print("App detached");
}
}