magnitude 1.0.0 copy "magnitude: ^1.0.0" to clipboard
magnitude: ^1.0.0 copied to clipboard

Flutter SDK for Magnitude analytics — event tracking, session management, autocapture, and offline support.

example/lib/main.dart

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

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  await Magnitude.init(
    'YOUR_API_KEY',
    config: const MagnitudeConfig(
      autocapture: true,
    ),
  );

  runApp(const MyApp());
}

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Magnitude Example',
      navigatorObservers: [Magnitude.navigatorObserver],
      home: const HomeScreen(),
      routes: {
        '/details': (_) => const DetailsScreen(),
      },
    );
  }
}

class HomeScreen extends StatelessWidget {
  const HomeScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Home')),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            ElevatedButton(
              onPressed: () {
                Magnitude.track('button_clicked', properties: {
                  'button_name': 'track_event',
                });
              },
              child: const Text('Track Event'),
            ),
            const SizedBox(height: 16),
            ElevatedButton(
              onPressed: () {
                Magnitude.identify('user_123', traits: {
                  'email': 'jane@example.com',
                });
              },
              child: const Text('Identify User'),
            ),
            const SizedBox(height: 16),
            ElevatedButton(
              onPressed: () {
                Navigator.pushNamed(context, '/details');
              },
              child: const Text('Go to Details'),
            ),
            const SizedBox(height: 16),
            ElevatedButton(
              onPressed: () => Magnitude.reset(),
              child: const Text('Reset'),
            ),
          ],
        ),
      ),
    );
  }
}

class DetailsScreen extends StatelessWidget {
  const DetailsScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Details')),
      body: const Center(child: Text('Details Screen')),
    );
  }
}
0
likes
160
points
10
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Flutter SDK for Magnitude analytics — event tracking, session management, autocapture, and offline support.

Repository (GitHub)
View/report issues

Topics

#analytics #tracking #events #sessions

License

MIT (license)

Dependencies

flutter, http, shared_preferences, uuid

More

Packages that depend on magnitude