wingify_insights_flutter_sdk 2.6.0 copy "wingify_insights_flutter_sdk: ^2.6.0" to clipboard
wingify_insights_flutter_sdk: ^2.6.0 copied to clipboard

Wingify Insights helps you analyze user behavior in your application based on interactions such as application launch, taps, scrolls, and flings.

example/lib/main.dart

import 'dart:async';
import 'package:flutter/material.dart';
import 'package:vwo_insights_flutter_sdk/vwo_insights_flutter_sdk.dart';
import 'package:vwo_insights_flutter_sdk_example/Screen3.dart';
import 'package:vwo_insights_flutter_sdk_example/utils/my_navigator_observer.dart';
import './providers/common_provider.dart';
import './screens/profile/profile.dart';
import 'package:provider/provider.dart';
import './Screen1.dart';
import './screens/sorting/sorting_campaign.dart';
import 'demo_screen.dart';
import 'screens/user_switch/user_switch_screen.dart';
import 'screens/variable/variable_campaign.dart';
import 'screens/video/video_player_screen.dart';

const bool useRoutes = true;

void main() {
  if (useRoutes) {
    runApp(const MyApp());
  } else {
    runApp(const MyAppNoRoute());
  }
}

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

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

class _MyAppState extends State<MyApp> {
  late StreamSubscription<int> _streamSubscription;

  @override
  void dispose() {
    _streamSubscription.cancel();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    var app = MaterialApp(
      title: 'Flutter Demo',
      routes: {
        "/": (context) => const Screen1(),
        '/third': (context) => const Screen3(),
        '/demo': (context) => const DemoScreen(),
        '/housing': (context) => const VariableCampaign(),
        '/phone': (context) => const SortingCampaign(),
        '/profile': (context) => const Profile(),
        '/userSwitch': (context) => const UserSwitchScreen(),
        '/video': (context) => const VideoPlayerScreen(),
      },
      navigatorObservers: [
        VwoNavigatorObserver(),
        MyNavigatorObserver(),
      ],
    );

    return MultiProvider(
      providers: [ChangeNotifierProvider(create: (_) => CommonProvider())],
      child: app,
    );
  }
}

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

  @override
  State<MyAppNoRoute> createState() => _MyAppNoRoute();
}

class _MyAppNoRoute extends State<MyAppNoRoute> {
  late StreamSubscription<int> _streamSubscription;

  @override
  void dispose() {
    _streamSubscription.cancel();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    var app = const MaterialApp(
      title: 'Flutter Demo No routes',
      home: Screen1(),
    );

    VwoFlutter().screenChanged("/");
    return MultiProvider(
      providers: [ChangeNotifierProvider(create: (_) => CommonProvider())],
      child: app,
    );
  }
}

void showScreen(BuildContext context, String route) {
  if (useRoutes) {
    Navigator.of(context).pushNamed(route);
  } else {
    Widget screen;
    if (route == '/third') {
      screen = const Screen3();
    } else if (route == '/') {
      screen = const Screen1();
    } else if (route == '/demo') {
      screen = const DemoScreen();
    } else if (route == '/housing') {
      screen = const VariableCampaign();
    } else if (route == '/phone') {
      screen = const SortingCampaign();
    } else if (route == '/profile') {
      screen = const Profile();
    } else if (route == '/userSwitch') {
      screen = const UserSwitchScreen();
    } else if (route == '/video') {
      screen = const VideoPlayerScreen();
    } else {
      screen = const Screen1();
    }
    VwoFlutter().screenChanged(route);
    Navigator.push(
      context,
      MaterialPageRoute(
          builder: (context) => screen
      ), // Direct navigation without named routes
    );
  }
}
0
likes
130
points
144
downloads

Documentation

API reference

Publisher

verified publisherwingify.com

Weekly Downloads

Wingify Insights helps you analyze user behavior in your application based on interactions such as application launch, taps, scrolls, and flings.

Homepage

License

Apache-2.0 (license)

Dependencies

flutter, flutter_web_plugins, plugin_platform_interface, visibility_detector

More

Packages that depend on wingify_insights_flutter_sdk

Packages that implement wingify_insights_flutter_sdk