A Flutter package for getting app feedback from users

  packages, Packages

App Feedback

A Flutter package for getting app feedback from users. It provides the utility to display feedback form depending upon the requirement. Feedback form can be displayed instantly at any time or after certain period of time.

Download Demo App 

How to use this package

1. Add library to pubspec.yml

dependencies:
  app_feedback: ^0.0.2

2. Import library in dart file.

import 'package:app_feedback/app_feedback.dart';

3. Create a instance of AppFeedback

AppFeedback feedbackForm = AppFeedback.instance;

4. Initialize the app feedback (Ony if you want to ask user for his feedback periodically)

 @override
  void initState() {
    /// `duration` is set to 10 seconds for testing purpose.
    /// Change this duration on the basis of how often you want to ask user for his feedback.
    /// For example duration can be 15 days, 1 or 2 month etc.
    feedbackForm.init(FeedbackConfig(duration: Duration(seconds: 10)));
    super.initState();
  }

5. Create a method which will launch the feedback form

 void tryDisplay() {
    feedbackForm.tryDisplay(context, onSubmit: (UserFeedback feedback) {
      print(feedback);
    });
  }

6. Create a button to call tryDisplay method.

TextButton(
    onPressed: tryDisplay,
    child: Text("Try Display Form")
 ),

Note

  1. feedbackForm will only be displayed once provided duration in step 3 has passed.
  2. Once feedbackForm is displayed then it won’t be displayed until the next cycle of the duration is completed.
  3. The config data provided in first time initialization of feedbackForm is stored in local cache and other initialization data will be ignored.

7. Clear old configuration

Invoke clearConfig method only if there is a need to clear the old config values otherwise ignore this.

  void clearConfig() async {
    await feedbackForm.clearConfig();
 }

Note

  1. After clearing the configuration it won’t be display the feedback form ever until new initialization.
  2. Clear configuration form doesn’t mean reset the duration cycle. It just removes the all configuration from the cache.
  3. To reset duration and other configuration do call the feedbackForm.init() method with new config values.

Display instant feedbackForm

If there is a need to display feedbackForm instantly on any time then invoke feedbackForm.display method. By calling this method won’t reset the duration cycle provided in above step 3. To invoke below method there is no need to initialize the feedbackForm.

void launchAppFeedback() {
    feedbackForm.display(context,
        option: Option(
          maxRating: 10,
          ratingButtonTheme: RatingButtonThemeData.defaultTheme,
        ), onSubmit: (feedback) {
      print(feedback);
    });
  }
Feedback formCustomised Rating buttonCustomised Rating button
Hidden feedback fieldCustomised feedback formCustomised feedback form

Other Flutter packages

Name
Filter List
Empty widget
Add Thumbnail
Country Provider

Pull Requests

I welcome and encourage all pull requests. It usually will take me within 24-48 hours to respond to any issue or request.

pub package

Download App Feedback package source code on GitHub

https://github.com/TheAlphamerc/app_feedback