UserOrient.com

Feature Voting Board for Flutter

UserOrient is a feature voting board that helps you collect feedback from your users and prioritize your development roadmap in your Flutter projects.

UserOrient Cover

🎯 Getting Started

Considering that you have already created a project on UserOrient.com and received an API key, follow these steps to integrate the SDK into your Flutter app.

📦 Add the dependency

Add the following to your pubspec.yaml file:

dependencies:
  userorient_flutter: <latest-version>

⚙️ Initialize the SDK

Initialize the SDK with your project's API key and preferred language:

import 'package:userorient_flutter/userorient_flutter.dart';

void main() {
  UserOrient.configure(
    apiKey: 'YOUR_API_KEY',
    languageCode: 'en',
  );

🎨 Display the board

Before displaying the board, set user information using UserOrient.setUser(). Ideally you should pass a unique identifier (uniqueIdentifier) for the user so that their votes can persist across app installs. This can be an email address, phone number, or custom ID. If not provided, UserOrient will generate a random identifier.

UserOrient.setUser(
  uniqueIdentifier: '123456',
  fullName: 'Kamran Bekirov',
  email: 'kamran@userorient.com',
  phoneNumber: '+1234567890',
  language: 'en',
  isPaying: true,
  extra: {
    'age': 27,
    'gender': 'male',
  }
);

Then, to show the board, call UserOrient.openBoard(context).

UserOrient.openBoard(context);

That's it.

Note: It's recommended to call UserOrient.setUser before each board launch to ensure up-to-date user information.

💰 Paying Users

Set the isPaying property to true for users who have a paid subscription or are paying customers. This enables powerful filtering in your UserOrient dashboard:

  • Filter by paying users: Toggle "filter by paying users" in the dashboard to see votes specifically from paying customers
  • Prioritize features: Understand which features matter most to your revenue-generating users
  • Better decision-making: Make data-driven decisions by focusing on feedback from your most valuable users

See the isPaying property in the User Identification example above.

🫟 Customize appearance

Customize the appearance to match your app's design:

UserOrient.setTheme(
  light: UserOrientColors(
    backgroundColor: Colors.white,
    accentColor: Colors.blue,
  ),
  dark: UserOrientColors(
    backgroundColor: Color(0xff1D1D1D),
    accentColor: Colors.blue,
  ),
);
  • backgroundColor: SDK's background color
  • accentColor: Primary button, active tab and voted state color (text color adjusts automatically)

Font family is inherited from your app's ThemeData.

👋 Logging Out

When a user logs out of your app, call UserOrient.clearCache() to prevent potential issues:

await UserOrient.clearCache();

💬 Contact

For any questions or support, please reach out to us:

Libraries

userorient_flutter