Skip to content

alicja-ogonowska/feedback-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flutter Feedback Demo

This app is a very simple demo. It showcases the implementation of feedback tools like Wiredash and A/B testing to enhance user experience and improve app performance.

Table of Contents

Educational resources

This app is an illustration for talk "Listen up! Mastering A/B testing and feedback techniques in your mobile apps" that I gave on Fluttercon Europe 2024 in Berlin. You can check out the slides here.

Some other useful resources that I either mentioned in the talk, or wish I had time to mention:

Installation

Prerequisites

  • Flutter SDK: Install Flutter
  • Dart SDK: Included with Flutter installation
flutter pub get
flutter run

Wiredash

To use Wiredash, you need to create your account. It offers a generous free tier. You can setup your account here.

Inside the code, Wiredash is set up in the main.dart file. You need to provide your project id and secret via dart define arguments, or, alternatively, you can paste them directly inside the code.

flutter run --dart-define=PROJECT_ID=xxx --dart-define=SECRET=zzz
class App extends StatelessWidget {
  const App({super.key});

  @override
  Widget build(BuildContext context) {
    return Wiredash(
      projectId: const String.fromEnvironment('PROJECT_ID'),
  secret: const String.fromEnvironment('SECRET'),
  child: MaterialApp(
  ...

Wiredash is used in two places of the app:

  • On the app bar of the main screen (product_list_screen.dart), when the user clicks on the bug icon, Wiredash feedback tool will open:
InkWell(
  onTap: () {
    Wiredash.of(context).show(inheritMaterialTheme: true);
  },
  child: const Padding(
  ...
  • On product screen (product_screen.dart), when user adds item to cart, a NPS form is maybe opened.
void _showPromoterSurvey(BuildContext context) {
  Wiredash.of(context).showPromoterSurvey(
  force: true,
  options: const PsOptions(
      frequency: Duration(days: 90),
	  initialDelay: Duration(days: 7),
	  minimumAppStarts: 3,
	  ),
  );
}

A/B testing

In the service_locator.dart you can select either Firebase or Postgres based code.

About

Demo for feedback techniques & AB testing

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published