feeddo_flutter 0.1.0 copy "feeddo_flutter: ^0.1.0" to clipboard
feeddo_flutter: ^0.1.0 copied to clipboard

Feeddo Flutter SDK - AI-powered customer support and feedback widget for Flutter apps

Feeddo Flutter SDK #

Drop a live AI support chat into your Flutter app with just 2 lines of code.

What is Feeddo? #

Feeddo is an AI-powered customer support widget for your Flutter app. Here's what it does:

  • AI Agent handles simple questions by reading your docs and FAQs
  • Auto-creates support tickets when the AI can't solve the issue
  • Live chat - You can jump in and chat directly with users
  • Smart bug tracking - Auto-detects and creates issues for bug reports
  • Feature requests - Captures and organizes feature requests from users
  • Community board - Let users vote on feature requests and see known bugs

All this drops right into your app with zero hassle.

Screenshots #

1. Simple & Clean Home #

Your users get a clean dashboard to manage their conversations and tickets.

Home Screen

2. AI Support Agent #

If a user asks how to do something, the AI agent searches your docs and answers instantly.

AI Chat Answer

3. Smart Bug Reporting #

If a user reports a bug, the agent automatically gathers details and creates a bug report for you.

Bug Report Conversation     Bug Ticket Created

4. Community Board #

Other users can see feature requests and reported bugs, upvote them, and add comments.

Community Board

Installation #

Add to your pubspec.yaml:

dependencies:
  feeddo_flutter: ^0.0.7

Then run:

flutter pub get

iOS Setup #

Feeddo requires a minimum deployment target of iOS 15.0.

  1. Open your project in Xcode (open ios/Runner.xcworkspace).
  2. Select the Runner project in the left navigation panel.
  3. In the project targets list, select Runner.
  4. Select the General tab.
  5. In the Deployment Info section, set Minimum Deployments to 15.0.
  6. Make sure your ios/Podfile also specifies platform 15.0:
    platform :ios, '15.0'
    

Quick Start #

1. Get Your API Key #

Sign up at feeddo.dev and grab your API key from the dashboard.

2. Initialize Feeddo #

Call Feeddo.init() when your app starts (usually in your main screen):

import 'package:feeddo_flutter/feeddo_flutter.dart';

await Feeddo.init(
      apiKey: 'your-api-key-here',  // Get this from feeddo.dev
      context: context,
    );

3. Show the Support Chat #

Add a button anywhere in your app to open the support widget:

ElevatedButton(
  onPressed: () {
    Feeddo.show(context);  // Opens the support home screen
  },
  child: Text('Get Help'),
)

That's it! Your users can now chat with the AI and create support tickets.

4. Show the Community Board #

Want to show just the feature requests and bug reports? Use this:

ElevatedButton(
  onPressed: () {
    Feeddo.showCommunityBoard(context);  // Opens feature requests & bugs
  },
  child: Text('Request a feature'),
)

Understanding Feeddo.init() #

The init() method sets up Feeddo with your user data. Here's what each parameter does:

await Feeddo.init(
  // Required: Your API key from feeddo.dev
  apiKey: 'your-api-key',
  
  // Required: The BuildContext for showing notifications
  context: context,
  
  // Optional: Your app's user ID (links Feeddo to your users)
  externalUserId: 'user_12345',
  
  // Optional: User's display name (appears in chats)
  userName: 'John Doe',
  
  // Optional: User's email
  email: 'john@example.com',
  
  // Optional: Segment your users (e.g., 'pro', 'free', 'trial')
  userSegment: 'premium',
  
  // Optional: Track subscription status
  subscriptionStatus: 'active',
  
  // Optional: Any extra data you want to track
  customAttributes: {
    'plan': 'pro',
    'signupDate': '2026-01-01',
    'country': 'US',
  },
  
  // Optional: Enable/disable in-app notifications (default: true)
  isInAppNotificationOn: true,
  
  // Optional: Push notification token (for remote notifications)
  pushToken: 'fcm-token-here',
  
  // Optional: Push provider (fcm, apns, or onesignal)
  pushProvider: FeeddoPushProvider.fcm,
);

Returns: The userId that Feeddo created for this user.

Notifications Setup #

Push Notifications #

If you haven't set up push notifications in your app yet, please follow the Firebase Cloud Messaging Get Started guide to configure your project.

To get notifications even when the app is closed, register your push token:

// When you get the FCM token
await Feeddo.registerPushToken(
  pushToken: 'your-push-token',
  pushProvider: FeeddoPushProvider.fcm,  // or .apns, .onesignal
);

Or pass it directly to init():

await Feeddo.init(
  apiKey: 'your-api-key',
  context: context,
  pushToken: 'your-push-token',
  pushProvider: FeeddoPushProvider.fcm,
);

When a push notification arrives, handle it like this:

// Handle notification tap when app is in background/terminated
FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message) {
  Feeddo.handleNotificationTap(context, message.data);
});

// Handle notification when app is in foreground
FirebaseMessaging.onMessage.listen((RemoteMessage message) {
  Feeddo.showInappNotification(
    context: context,
    title: message.notification?.title ?? 'New Message',
    message: message.notification?.body ?? '',
    data: message.data,
  );
});

Customizing Colors #

Feeddo comes with dark and light themes, but you can customize any color:

Using Built-in Themes #

// Dark theme (default)
Feeddo.show(context, theme: FeeddoTheme.dark());

// Light theme
Feeddo.show(context, theme: FeeddoTheme.light());

Custom Colors #

Create your own theme by customizing colors:

final myTheme = FeeddoTheme(
  isDark: true,
  colors: FeeddoColors(
    // Main background
    background: Color(0xFF1A1A2E),
    
    // Text colors
    textPrimary: Color(0xFFFFFFFF),
    textSecondary: Color(0xFFB0B0B0),
    
    // Primary action color (buttons, links)
    primary: Color(0xFF00D9FF),
    
    // Cards and surfaces
    cardBackground: Color(0xFF252540),
    surface: Color(0xFF252540),
    
    // App bar
    appBarBackground: Color(0xFF1A1A2E),
    
    // Status colors
    success: Color(0xFF4CAF50),
    error: Color(0xFFFF5252),
    
    // Borders and dividers
    border: Color(0xFF3A3A5C),
    divider: Color(0xFF2A2A3E),
  ),
);

// Use it when showing Feeddo
Feeddo.show(context, theme: myTheme);

You can also apply the theme to notifications and the community board:

// Show with custom theme
Feeddo.show(context, theme: myTheme);
Feeddo.showCommunityBoard(context, theme: myTheme);

// Set default theme in init()
await Feeddo.init(
  apiKey: 'your-api-key',
  context: context,
  theme: myTheme,  // This theme will be used for notifications
);

Available Colors #

Color Property What it controls
background Main screen background
textPrimary Primary text (titles, main content)
textSecondary Secondary text (timestamps, hints)
cardBackground Background of cards and message bubbles
primary Primary buttons, links, active elements
surface Secondary surfaces (bottom sheets)
success Success states, completed tasks
error Error states, urgent notifications
border Borders around inputs and cards
divider Separators between items
appBarBackground Top navigation bar background

Gradient Background #

Want a gradient background? Easy:

final gradientTheme = FeeddoTheme(
  isDark: true,
  colors: FeeddoColors(
    background: Color(0xFF1A1A2E),  // Fallback color
    backgroundGradient: [
      Color(0xFF1A1A2E),
      Color(0xFF16213E),
      Color(0xFF0F3460),
    ],
  ),
);

Update User Info #

Need to update user info after they sign up or change their profile?

await Feeddo.updateUser(
  userName: 'Jane Smith',
  email: 'jane@example.com',
  userSegment: 'enterprise',
);

Show Unread Message Count #

Want to show a badge with unread messages?

int unreadCount = Feeddo.unreadMessageCount;

// Use it in your UI
Badge(
  label: Text('$unreadCount'),
  child: Icon(Icons.chat),
)

Need Help? #

License #

MIT License - see LICENSE file for details

7
likes
0
points
0
downloads

Publisher

verified publisherfeeddo.dev

Weekly Downloads

Feeddo Flutter SDK - AI-powered customer support and feedback widget for Flutter apps

Homepage

Topics

#feedback #customer-support #support #bugs #community

License

unknown (license)

Dependencies

chewie, device_info_plus, flutter, http, http_parser, image_picker, intl, mime, package_info_plus, shared_preferences, video_player, web_socket_channel

More

Packages that depend on feeddo_flutter