insito_flutter 0.1.1
insito_flutter: ^0.1.1 copied to clipboard
In-app micro-surveys for Flutter — NPS, ratings, and multi-question flows with theming, offline queueing, logic branching, and automatic screen tracking.
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:insito_flutter/insito_flutter.dart';
import 'checkout_screen.dart';
import 'home_screen.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
// Initialise once on app start.
await MicroSurvey.init(
const InsitoConfig(
apiKey: 'proj_example',
debug: true,
),
);
// Identify the current user.
await MicroSurvey.identify(const UserProperties(userId: 'demo-user-1'));
runApp(const ExampleApp());
}
class ExampleApp extends StatelessWidget {
const ExampleApp({super.key});
@override
Widget build(BuildContext context) {
// Wrap the whole app so Insito can render the survey modal above your UI.
return InsitoProvider(
child: MaterialApp(
title: 'Insito Example',
debugShowCheckedModeBanner: false,
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: const Color(0xFF2563EB)),
useMaterial3: true,
),
// Auto screen tracking — drops in as a navigator observer.
navigatorObservers: [InsitoNavigatorObserver()],
initialRoute: '/',
routes: {
'/': (_) => const HomeScreen(),
'/checkout': (_) => const CheckoutScreen(),
},
),
);
}
}