wisetracker_sdk 0.0.6 copy "wisetracker_sdk: ^0.0.6" to clipboard
wisetracker_sdk: ^0.0.6 copied to clipboard

This is a wisetracker's mobile sdk flutter plugin which is for attribution and inApp analytics.

example/lib/main.dart

import 'package:flutter/material.dart';

import 'package:wisetracker_sdk/wisetracker_sdk.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  void initState() {
    super.initState();
    Wisetracker.initialization(
        "JQMAAB+LCAAAAAAAAACFk9tu4jAQhu/3KZAfgJzIUq1CerEgLdvGakt2peSmMmYIhjiOxk4Lefo6NFKhFfRqPP6/Gf8+Rbd7WQ5eALVQ1YR4Q5fcxj8iBK0a5KDtWBsUVTGomIQJMbj7o7Qh8caY+pfj2Hz4KjQYZHwHOORquMPIea/5XMzq+g4OJKbto09T3tp4yNN8R2XmJ9sspDKx839L2to4zUUi/wW0tfNdnnKXtnM/SbOWynmXH6zuJ20uu5htj3mQtJnb6yO6nfn5lL8e+z5OJpd8bZjeHI2Nxt465MvRsxeGwfjnOLwJA290qUxwWaeHGkg8//3gusEJJyoDBWAP8kZTRWLPdSOnV74w9mwWgC+CwzvqX0dLZTru5jKFYBqs/gstzJQZa7LbyGV4DYiAs30tEL7njZCAJA5PiaVSZS+vYNkUiS5IvGalhsjptHOk0fAEBipj3x2JDTYf1PlSK2bYAqpVolbW1JVjkWxvjbN7sYbU2rPslQ30cNf4HqrCbCx+djvOyRd4A7wTPZ8lAwAA");
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(),
      navigatorObservers: [MyRouteObserver()],
      home: Screen1(),
      routes: {
        'screen2': (context) => Screen2(),
        'screen3': (context) => Screen3(),
      },
    );
  }
}

class Screen1 extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    // Wisetracker.startPage("screen1");
    print("screen1");
    return Scaffold(
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Text('Screen 1'),
            SizedBox(height: 30.0),
            RaisedButton(
              child: Text('Screen 2'),
              onPressed: () => Navigator.of(context).pushNamed('screen2'),
            ),
            RaisedButton(
              child: Text('Screen 3'),
              onPressed: () => Navigator.of(context).pushNamed('screen3'),
            )
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _eventOccured2,
        tooltip: 'Increment',
        child: Icon(Icons.add),
      ),
    );
  }

  void _eventOccured2() {
    // Wisetracker.setGoalProductArray(["aaa", "bbb", "ccc"]);
    // Wisetracker.sendTransaction;

    // Wisetracker.setOrderProductArray(["aaa", "bbb", "ccc"]);
    // Wisetracker.sendTransaction;
    // Wisetracker.setOrderQuantityArray([1]);
    // Wisetracker.setOrderAmountArray([550000]);
    // Wisetracker.setOrderNo("tr012345");
    // Wisetracker.setPageIdentity("ODR");

    // Wisetracker.setOrderNo("orderno20200910");
    // Wisetracker.setProduct("nike123", "nikeshoes12345");
    // Wisetracker.setPageIdentity("ODR");
    // Wisetracker.setOrderAmountArray([10000.0, 20000.0, 30000.0]);
    // Wisetracker.setOrderQuantityArray([1, 3, 8]);
    // Wisetracker.putRevenueData("pnc", "pnc11111111");
    // Wisetracker.setOrderProductArray(['상품코드1', '상품코드2']);

    Wisetracker.setOrderProduct("3903367494");
    Wisetracker.setOrderProductCategory("100131709");
    Wisetracker.setOrderQuantity(100);
    Wisetracker.setOrderAmount(12000.0);
    Wisetracker.setOrderNo("NP39890293");
    Wisetracker.setPageIdentity("ODR");
    Wisetracker.sendTransaction();
  }
}

class Screen2 extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    //
    Wisetracker.setPageIdentity("SCR2");
    Wisetracker.setProduct("12345", "12345name");
    return Scaffold(appBar: AppBar(), body: Center(child: Text('Screen 2')));
  }
}

class Screen3 extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    //Wisetracker.startPage("screen2");

    Wisetracker.setPageIdentity("SCR3");

    return Scaffold(appBar: AppBar(), body: Center(child: Text('Screen 3')));
  }
}

class MyRouteObserver extends RouteObserver<PageRoute<dynamic>> {
  // -------------------
  // ÷추가
  var screenName = '';
  void _sendScreenView(PageRoute<dynamic> route) {
    var currentScreenName = route.settings.name;
    if (screenName != currentScreenName) {
      print('screenName  $screenName --> $currentScreenName ');
      if (screenName == '') {
        Wisetracker.startPage(currentScreenName);
      } else {
        Wisetracker.endPage(this.screenName);
        Wisetracker.startPage(currentScreenName);
      }
      this.screenName = currentScreenName;
    }
  }
  // ---------

  @override
  void didPush(Route<dynamic> route, Route<dynamic> previousRoute) {
    super.didPush(route, previousRoute);
    // -------------------
    // ÷추가
    if (route is PageRoute) {
      _sendScreenView(route); // ÷추가
    }
    // ------
  }

  @override
  void didReplace({Route<dynamic> newRoute, Route<dynamic> oldRoute}) {
    super.didReplace(newRoute: newRoute, oldRoute: oldRoute);
    // -------------------
    // ÷추가
    if (newRoute is PageRoute) {
      _sendScreenView(newRoute); // ÷추가
    }
    // ------
  }

  @override
  void didPop(Route<dynamic> route, Route<dynamic> previousRoute) {
    super.didPop(route, previousRoute);
    // -------------------
    // ÷추가
    if (previousRoute is PageRoute && route is PageRoute) {
      _sendScreenView(previousRoute);
    }
    // -------------------
  }
}
3
likes
35
pub points
0%
popularity

Publisher

unverified uploader

This is a wisetracker's mobile sdk flutter plugin which is for attribution and inApp analytics.

Repository (GitHub)
View/report issues

License

MIT (LICENSE)

Dependencies

flutter

More

Packages that depend on wisetracker_sdk