event_analysis_library 1.1.2 copy "event_analysis_library: ^1.1.2" to clipboard
event_analysis_library: ^1.1.2 copied to clipboard

Pinwheel event analysis library.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';

import 'analysis_sdk.dart';

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await AnalysisSdk().initializeSdk(locale: "en_US");
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key? key, required this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  GlobalKey _globalKey = GlobalKey();
  List<GlobalKey> _list = [
    GlobalKey(),
    GlobalKey(),
    GlobalKey(),
  ];
  List<String> list = [];
  @override
  void initState() {
    super.initState();
    list = <String>[];
    for (var i = 0; i < 50; i++) {
      list.add("test");
    }
  }

  _getPositions(BuildContext context, GlobalKey key) {
    final RenderBox? renderBox = key.currentContext!.findRenderObject() as RenderBox?;
    final offSet = renderBox!.localToGlobal(Offset.zero);
    return offSet;
  }

  @override
  Widget build(BuildContext context) {

    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            ElevatedButton(
              key: _globalKey,
              onPressed: () async {
                var offset = _getPositions(context, _globalKey);
                await AnalysisSdk().postEvent("BUTTON CLICK", "EVENT VALUE", 'USER ID', offset);
              },
              child: Text('EVENT TRIGGER'),
            ),
            ElevatedButton(
              onPressed: () async {
                await AnalysisSdk().userIdentity('123123');
              },
              child: Text('USER IDENTITY'),
            ),
          ],
        ),
      ),
    );
  }
}