msh_mesg_tracking_v2 1.0.0 copy "msh_mesg_tracking_v2: ^1.0.0" to clipboard
msh_mesg_tracking_v2: ^1.0.0 copied to clipboard

An Flutter plugin for log tracking based on MesgLogTrackingV2, support Android & iOS.

example/lib/main.dart

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");
  }
}
1
likes
40
pub points
0%
popularity

Publisher

unverified uploader

An Flutter plugin for log tracking based on MesgLogTrackingV2, support Android & iOS.

Homepage

License

MIT (LICENSE)

Dependencies

flutter

More

Packages that depend on msh_mesg_tracking_v2