piano_analytics_plugin 0.0.9 copy "piano_analytics_plugin: ^0.0.9" to clipboard
piano_analytics_plugin: ^0.0.9 copied to clipboard

A flutter plugin for use piano anlaytics SDK. Piano Analytics is the logical progression to our Analytics Suite 2

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:piano_analytics_plugin/piano_analytics_configuration_modes.dart';
import 'package:piano_analytics_plugin/piano_analytics_plugin.dart';

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

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  final pianoAnalyticsPlugin = PianoAnalyticsPlugin();

  final String domaine = "YOUR_DOMAIN";
  final int site = 123456;

  final String eventName = "click.action";
  final Map<String, String> fakeData = {
    "click": "Click event",
    "status": "connected",
    "others_data": "N/A",
  };

  @override
  void initState() {
    super.initState();
    pianoAnalyticsPlugin.setConfiguration(
      collectDomain: domaine,
      site: site,
      path: "fake_path",
      crashDetection: false,
      customUserAgent: "fake_agent",
      offlineEncryptionMode: OfflineEncryptionMode.force,
      ignoreLimitedAdvertisingTracking: false,
      offlineStorageMode: OfflineStorageMode.always,
      sendEventWhenOptout: false,
      sessionBackgroundDuration: 1,
      storageLifetimePrivacy: 1,
      storageLifetimeUser: 1,
      storageLifetimeVisitor: 1,
      visitorId: "fake_visitor",
      visitorIdTypeMode: VisitorIdTypeMode.advertisingId,
      visitorStorageMode: VisitorStorageMode.relative,
      privacyDefaultMode: PrivacyDefaultMode.exempt,
    );
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Piano Analytics'),
        ),
        body: SingleChildScrollView(
          padding: const EdgeInsets.all(12),
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            mainAxisAlignment: MainAxisAlignment.start,
            children: [
              Text(
                "Configuration : domaine: $domaine, site: $site",
              ),
              const Divider(),
              Text(
                "Event Name : $eventName",
              ),
              const SizedBox(height: 8),
              Text(
                "Data : ${fakeData.toString()}",
              ),
              const SizedBox(height: 12),
              const Divider(),
              Row(
                crossAxisAlignment: CrossAxisAlignment.center,
                mainAxisAlignment: MainAxisAlignment.center,
                children: [
                  MaterialButton(
                    color: Colors.lightBlueAccent,
                    child: const Text("Track event",
                        style: TextStyle(color: Colors.white)),
                    onPressed: () {
                      pianoAnalyticsPlugin
                          .sendEvent(eventName: eventName, data: fakeData)
                          .onError(
                            (error, stackTrace) => debugPrint(
                              error.toString(),
                            ),
                          );
                    },
                  ),
                ],
              )
            ],
          ),
        ),
      ),
    );
  }
}
3
likes
160
points
279
downloads

Publisher

unverified uploader

Weekly Downloads

A flutter plugin for use piano anlaytics SDK. Piano Analytics is the logical progression to our Analytics Suite 2

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on piano_analytics_plugin