msh_mesg_tracking_v2 0.0.2 msh_mesg_tracking_v2: ^0.0.2 copied to clipboard
An Flutter plugin for log tracking.
import 'dart:ui';
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:msh_mesg_tracking_v2/mess_log_tracking_v2.dart';
import 'package:msh_mesg_tracking_v2/src/model/model.dart'
show COV_TYPE, LOG_TYPE, ParamsLog;
void main() {
runApp(MyApp());
}
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
MessLogTrackingV2 messLogTrackingV2 = MessLogTrackingV2().initialized();
String _log = "LogEvent MessLogTrackingV2 flutter";
@override
void initState() {
super.initState();
WidgetsBinding.instance.addObserver(this);
getVersionLib();
getUUID();
}
Future<void> handlerAppOpen() async {
await messLogTrackingV2.handleAppOpen();
setState(() {
_log = "$_log\n _handler app open";
});
}
Future<void> handleAppQuit() async {
var result = await messLogTrackingV2.handleAppQuit();
setState(() {
_log = "$_log\n _handleAppQuit: $result";
});
}
Future<void> getUUID() async {
String deviceId = await messLogTrackingV2.getUUID;
setState(() {
_log = "$_log\n Get deviceId: $deviceId";
print(deviceId);
});
}
Future<void> getVersionLib() async {
String version = await messLogTrackingV2.getLibVersion;
setState(() {
_log = "$_log\n Get version lib: $version";
});
}
Future<void> sendLogTrackingView() async {
var result = await messLogTrackingV2.sendLogTrackingView(
"domain",
"rurl",
"vid",
"vid",
COV_TYPE.VIEW,
LOG_TYPE.NONE,
"pspid",
"pspid",
"algid",
"ext");
setState(() {
_log = "$_log\n sendLogTrackingView: $result";
});
}
Future<void> sendLogTrackingViewLogParams() async {
ParamsLog paramsLog = ParamsLog(
algid: "algid sample flutter",
domain: "kenh19-flutter",
cov: COV_TYPE.VIEW,
ltype: LOG_TYPE.BOX_VIEW,
vid: "Vid");
var result =
await messLogTrackingV2.sendLogTrackingViewLogParams(paramsLog);
setState(() {
_log = "$_log\nAction SEND - sendLogTrackingViewLogParams: $result";
});
}
Future<void> sendLogClickBanner() async {
var result = await messLogTrackingV2.sendLogClickBanner(
"app_id", "vcc.soha.game.DetailsActivity", "0", "ext-sample");
setState(() {
_log = "$_log\nAction SEND - sendLogClickBanner: $result";
});
}
Future<void> sendLogConfirm() async {
var result = await messLogTrackingV2.sendLogConfirm("ext-sample");
setState(() {
_log = "$_log\n sendLogConfirm: $result";
});
}
@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: 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");
}
}