event_analysis_library 1.1.2 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'),
),
],
),
),
);
}
}