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

outdated

An Flutter plugin for log tracking.

example/lib/main.dart

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

Publisher

unverified uploader

An Flutter plugin for log tracking.

Homepage

License

unknown (LICENSE)

Dependencies

flutter

More

Packages that depend on msh_mesg_tracking_v2