userorient_flutter 2.1.0 copy "userorient_flutter: ^2.1.0" to clipboard
userorient_flutter: ^2.1.0 copied to clipboard

Feature Voting Board for Flutter. Collect feedback from your users and prioritize your development roadmap.

UserOrient #

Feature voting board for Flutter apps.

Let your users vote on what to build next. Collect feedback, prioritize your roadmap, ship what matters.

UserOrient Cover

Getting Started #

1. Install #

dependencies:
  userorient_flutter: <latest-version>

2. Configure #

import 'package:userorient_flutter/userorient_flutter.dart';

void main() {
  UserOrient.configure(apiKey: 'YOUR_API_KEY');
  runApp(MyApp());
}

Get your API key from the UserOrient dashboard.

3. Open the board #

UserOrient.openBoard(context);

That's it — two lines of setup, one to launch.


User #

Identify the current user so votes persist across sessions. Call setUser before opening the board.

UserOrient.setUser(
  uniqueIdentifier: '123456',
  fullName: 'Kamran Bekirov',
  email: 'kamran@userorient.com',
);

All fields are optional. Pass whatever you have:

Field Description
uniqueIdentifier Your internal user ID
fullName Display name
email Email address
phoneNumber Phone number
isPaying Whether this is a paying customer (learn more)
extra Any additional key-value data

If uniqueIdentifier is omitted, UserOrient generates one automatically.


Language #

UserOrient.setLanguage(Language.en);

Supported: az de en es fr it tr ru ar uk zh

You can also parse a locale string:

UserOrient.setLanguage(Language.fromCode('en-US')); // Language.en

Falls back to Language.en for unsupported codes.


Theming #

UserOrient.setTheme(
  light: UserOrientColors(
    backgroundColor: Colors.white,
    accentColor: Colors.blue,
  ),
  dark: UserOrientColors(
    backgroundColor: Color(0xff1D1D1D),
    accentColor: Colors.blue,
  ),
);
Property Description
backgroundColor Board background color
accentColor Buttons, active tabs, voted state (text color adjusts automatically)

Font family is inherited from your app's ThemeData.


Data Collection #

Control what data the SDK collects when a user submits feedback:

UserOrient.setDataCollection(DataCollection(
  email: CollectionMode.required,
  metadata: CollectionMode.optional,
));
Mode Email behavior Metadata behavior
required User must enter an email before submitting Always collected
optional User can skip the email step (default) Collected if available (default)
notCollected Email step is skipped entirely Not collected

Metadata includes device info (model, OS version) and app info (version, build number).


Paying Users #

Mark paying customers so you can filter their votes in the dashboard:

UserOrient.setUser(
  uniqueIdentifier: '123456',
  isPaying: true,
);

Logging Out #

Clear cached data when a user logs out:

await UserOrient.clearCache();

Contact #