flutter_feedback_dialog 0.0.5
flutter_feedback_dialog: ^0.0.5 copied to clipboard
A customizable and easy-to-use Flutter package for collecting user feedback through dialog popups.
FlutterFeedbackDialog #
A customizable and easy-to-use Flutter package for collecting user feedback through beautiful dialog popups. Supports text input, image attachments, and integrates seamlessly with the free FeedbackNest AI-powered backend that automatically organizes feedback with smart tags, sentiment analysis, and priority detection.
MyApp - Auto Rating System #
A smart rating system that maximizes positive app store reviews while collecting valuable user feedback.
Features #
- Session-based rating prompts
- Intelligent user flow based on rating scores
- Comprehensive feedback collection
- Dynamic prompt frequency adjustment
π Table of Contents #
- Features
- Screenshots
- Quick Start
- Step-by-Step Setup
- Usage Examples
- FeedbackNest Integration
- Customization
- Example App
- Contributing
β¨ Features #
- π― Multiple Feedback Types: Feedback, bug reports, feature requests, and contact forms
- π¨ Dual Themes: Beautiful light and dark theme support
- πΈ Image Attachments: Users can attach screenshots or images
- π§ Fully Customizable: Titles, subtitles, buttons, icons, colors, and more
- β‘ Simple Integration: Show dialogs with a single function call
- β Built-in Validation: Form validation for required fields
- π Success Messages: Custom success notifications
- π€ AI-Powered Backend: Free FeedbackNest integration with automatic categorization, sentiment analysis, and smart prioritization
- π Project Management: Track feedback progress from Open β In Progress β Done
πΈ Screenshots #
Light Theme Dialogs #
Feedback | Bug Report | Feature Request | Contact |
---|---|---|---|
[Feedback Light 1] [Feedback Light 2] |
[Bug Light 1] [Bug Light 2] |
[Feature Light 1] [Feature Light 2] |
[Contact Light 1] [Contact Light 2] |
Dark Theme Dialogs #
Feedback | Bug Report | Feature Request | Contact |
---|---|---|---|
[Feedback Dark] | [Bug Dark] | [Feature Dark] | [Contact Dark] |
π Quick Start #
1. Add Dependencies #
dependencies:
flutter_feedback_dialog: any
feedbacknest_core: any # Optional: for free backend integration
2. Import Package #
import 'package:flutter_feedback_dialog/flutter_feedback_dialog.dart';
3. Show Dialog #
FlutterFeedbackDialog.show(
context,
type: CommunicationViewType.feedback,
theme: CommunicationTheme.light,
onSubmit: (response) {
print('Feedback: ${response.message}');
},
);
π Step-by-Step Setup #
Step 1: Installation #
Run this command in your Flutter project:
flutter pub add flutter_feedback_dialog
Step 2: Import the Package #
Add the import statement to your Dart file:
import 'package:flutter_feedback_dialog/flutter_feedback_dialog.dart';
Step 3: Basic Implementation #
Add a button to trigger the feedback dialog:
ElevatedButton(
onPressed: () {
FlutterFeedbackDialog.show(
context,
type: CommunicationViewType.feedback,
theme: CommunicationTheme.light,
onSubmit: (CommunicationResponse response) {
// Handle the response
print('Message: ${response.message}');
print('Email: ${response.email}');
print('Screenshots: ${response.screenshots?.length ?? 0}');
},
);
},
child: Text('Give Feedback'),
)
Step 4: Handle Different Feedback Types #
// Feedback Dialog
FlutterFeedbackDialog.show(context, type: CommunicationViewType.feedback);
// Bug Report Dialog
FlutterFeedbackDialog.show(context, type: CommunicationViewType.bug);
// Feature Request Dialog
FlutterFeedbackDialog.show(context, type: CommunicationViewType.featureRequest);
// Contact Dialog
FlutterFeedbackDialog.show(context, type: CommunicationViewType.contact);
π» Usage Examples #
Basic Usage #
FlutterFeedbackDialog.show(
context,
type: CommunicationViewType.feedback,
theme: CommunicationTheme.light,
onSubmit: (CommunicationResponse response) {
// Process the feedback
print('User feedback: ${response.message}');
print('User email: ${response.email}');
// Handle image attachments
if (response.screenshots != null && response.screenshots!.isNotEmpty) {
print('User attached ${response.screenshots!.length} images');
}
},
);
Advanced Customization #
FlutterFeedbackDialog.show(
context,
type: CommunicationViewType.bug,
theme: CommunicationTheme.dark,
title: "π Report a Bug",
subtitle: "Help us squash bugs and improve the app!",
buttonText: "Submit Bug Report",
placeholder: "Please describe the bug you encountered...",
icon: Icons.bug_report,
successMessage: "Thanks! We'll investigate this bug soon.",
onSubmit: (CommunicationResponse response) {
// Handle bug report
_processBugReport(response);
},
);
βοΈ FeedbackNest Integration #
FeedbackNest is completely FREE and provides an intelligent backend solution for collecting and managing feedback without any setup complexity. It uses AI to automatically analyze and organize all user communications.
π€ AI-Powered Features #
FeedbackNest automatically uses AI to enhance your feedback management:
- π― Auto-Generated Titles - AI creates meaningful titles from user messages
- π·οΈ Smart Tags - Automatically categorizes feedback with relevant tags
- π Sentiment Analysis - Detects user emotions (positive, negative, neutral)
- π Priority Detection - AI assigns priority levels based on content urgency
- π Smart Search - Find feedback quickly with AI-enhanced search
- π Trend Analysis - Identify patterns and common issues automatically
- π₯ User Analytics - Track total users, active sessions, new user growth
- πΊοΈ Geographic Insights - Monitor user distribution across countries
- π± Version Tracking - Analyze user behavior across different app versions
- β Rating Analytics - Monitor user satisfaction and app ratings
Why Use FeedbackNest? #
- β 100% Free - No cost, no limits, no credit card required
- β AI-Powered - Automatic categorization, sentiment analysis, and prioritization
- β Zero Backend Setup - No server configuration needed
- β Smart Dashboard - AI-organized feedback with actionable insights
- β User Analytics - Comprehensive user tracking, session data, and geographic insights
- β Project Management - Move feedback through stages: Open β In Progress β Done
- β Team Collaboration - Share feedback and track progress with your team
- β Easy Integration - Just add your API key and start collecting feedback
Step-by-Step FeedbackNest Setup #
Step 1: Sign Up (Free)
- Visit FeedbackNest.app
- Create your free account
- No credit card required!
Step 2: Create a Project
- Click "Create New Project" in your dashboard
- Enter your app/project name
- Get your unique API key
FeedbackNest Dashboard Screenshots #
π User Insights & Analytics Dashboard
[FeedbackNest Dashboard]
Comprehensive User Analytics:
- π₯ Total Users: Track your total user base
- π Sessions Today: Monitor daily active sessions
- π New Users: See daily user growth
- π Active Users: Track 7-day active users
- β User Ratings: Monitor app satisfaction
- π Historical Trends: View user growth patterns over time with interactive charts
- πΊοΈ Geographic Insights: See user distribution by country
- π± Version Analytics: Track users across different app versions
- π€ Inactive Users: Monitor user retention and engagement
- π Session Patterns: Analyze user behavior with detailed session data
π·οΈ Individual Feedback with AI Analysis
[FeedbackNest Feedback Detail]
AI-Enhanced Feedback Details:
- π― Auto-Generated Titles: AI creates meaningful titles like "UI appearance issue", "Random login logouts"
- π·οΈ Smart Categorization: Automatic tags based on content analysis
- π Sentiment Detection: Real-time sentiment analysis of user emotions
- π Priority Assignment: AI determines urgency and importance
- π₯ User Context: Complete user information and communication history
- π Workflow Management: Track progress from submission to resolution
Step 3: Add FeedbackNest to Your App
Add the dependency:
dependencies:
flutter_feedback_dialog: any
feedbacknest_core: any
Step 4: Initialize FeedbackNest
import 'package:feedbacknest_core/feedbacknest.dart';
void main() {
runApp(MyApp());
// Initialize FeedbackNest with your free API key
Feedbacknest.init(
"your-api-key-from-dashboard",
userIdentifier: "user@example.com", // Optional: identify users
);
}
Step 5: Send Feedback to FeedbackNest
FlutterFeedbackDialog.show(
context,
type: CommunicationViewType.feedback,
onSubmit: (CommunicationResponse response) async {
Feedbacknest.sendFeedback(
message: response.message,
email: response.email,
screenshots: response.screenshots,
type: 'feedback', // 'bug', 'feature', 'contact'
);
},
);
Step 6: Manage Feedback with AI Dashboard
- View AI-Organized Feedback: Log into your FeedbackNest dashboard to see all feedback automatically categorized with AI-generated tags and sentiment analysis
- Track Progress: Move feedback through workflow stages:
- Open π - New feedback items
- In Progress π - Items you're actively working on
- Resolved β - Completed feedback items
- Leverage AI Insights: Use automatic priority detection and sentiment analysis to prioritize important issues
- Team Collaboration: Share feedback with your team and track who's working on what
- Analytics & Trends: Monitor feedback patterns, user satisfaction, and resolution times
π¨ Customization #
Available Customization Options #
Parameter | Type | Description |
---|---|---|
type |
CommunicationViewType |
Dialog type: feedback, bug, featureRequest, contact |
theme |
CommunicationTheme |
Theme: light or dark |
title |
String? |
Custom dialog title |
subtitle |
String? |
Custom dialog subtitle |
buttonText |
String? |
Custom submit button text |
icon |
IconData? |
Custom dialog icon |
placeholder |
String? |
Custom textarea placeholder |
successMessage |
String? |
Custom success message |
Customization Examples #
// Feature Request with Custom Styling
FlutterFeedbackDialog.show(
context,
type: CommunicationViewType.featureRequest,
theme: CommunicationTheme.light,
title: "π‘ Got an Idea?",
subtitle: "Share your feature ideas to help us improve!",
buttonText: "Submit Idea",
icon: Icons.lightbulb_outline,
placeholder: "Describe your feature idea in detail...",
successMessage: "π Thanks! We love hearing new ideas from our users.",
onSubmit: (response) => _handleFeatureRequest(response),
);
// Contact Form with Professional Look
FlutterFeedbackDialog.show(
context,
type: CommunicationViewType.contact,
theme: CommunicationTheme.dark,
title: "π Get in Touch",
subtitle: "We'd love to hear from you!",
buttonText: "Send Message",
icon: Icons.contact_support,
placeholder: "How can we help you today?",
successMessage: "β
Message sent! We'll get back to you soon.",
onSubmit: (response) => _handleContactForm(response),
);
π± Example App #
Explore the complete example app in the example/
directory:
What's Included: #
- β All dialog types (feedback, bug, feature, contact)
- β Theme switching (light/dark)
- β FeedbackNest integration
- β Custom styling examples
- β Error handling
- β Success notifications
Running the Example: #
cd example
flutter pub get
flutter run
Example App Features: #
- Interactive Demo: Try all dialog types and themes
- FeedbackNest Integration: See real backend integration
- Custom Styling: Examples of dialog customization
- Best Practices: Proper error handling and user feedback
π€ Contributing #
We welcome contributions! Here's how you can help:
Ways to Contribute: #
- π Report bugs - Found an issue? Let us know!
- π‘ Suggest features - Have ideas for improvements?
- π Improve docs - Help make our documentation better
- π§ Submit PRs - Fix bugs or add new features
- β Star the repo - Show your support!
Development Setup: #
git clone <repository-url>
cd flutter_feedback_dialog
flutter pub get
cd example
flutter pub get
flutter run
π License #
This project is licensed under the MIT License - see the LICENSE file for details.
π Support #
- Documentation: Check our API documentation
- Issues: Report bugs on GitHub Issues
- Discussions: Join our GitHub Discussions
- FeedbackNest Support: Visit FeedbackNest Help
Build better feedback experiences with FlutterFeedbackDialog! π
Made with β€οΈ by the FeedbackNest team