enbbox 1.0.0 copy "enbbox: ^1.0.0" to clipboard
enbbox: ^1.0.0 copied to clipboard

Enbbox Flutter SDK — drop-in notification inbox for your Flutter app. Manage notifications, preferences, and real-time updates.

enbbox #

The official Flutter/Dart SDK for Enbbox — drop-in notification inbox for your app.

Installation #

dependencies:
  enbbox: ^1.0.0

Or via CLI:

dart pub add enbbox

Quick Start #

import 'package:enbbox/enbbox.dart';

final enbbox = Enbbox(
  options: EnbboxOptions(
    projectId: 'YOUR_PROJECT_ID',
    subscriberId: 'USER_ID',
    subscriberHash: 'HMAC_HASH', // optional, for production
  ),
);

// Listen for new notifications
final sub = enbbox.on<NotificationReceivedEvent>(
  EnbboxEvents.notificationReceived,
  (event) => print('New notification: ${event.result.body}'),
);

// Get notifications
final result = await enbbox.notifications.list();
if (result.isSuccess) {
  for (final n in result.data!.notifications) {
    print('${n.subject}: ${n.body}');
  }
}

// Get unread count
final counts = await enbbox.notifications.count(
  filters: [const NotificationFilter(read: false)],
);

// Clean up
sub.cancel();
enbbox.disconnect();

API #

Enbbox(options:) #

Option Type Required Description
projectId String Your Enbbox project ID
subscriberId String Unique subscriber identifier
subscriberHash String HMAC hash for secure mode
apiUrl String Custom API URL
useCache bool Enable query cache (default: true)

Modules #

  • enbbox.notifications — List, read, archive, count notifications
  • enbbox.preferences — Manage notification channel preferences
  • enbbox.on<T>(event, handler) — Listen for real-time events

Notifications #

// List with filters
await enbbox.notifications.list(const NotificationFilter(limit: 20));

// Mark as read / unread
await enbbox.notifications.read('notification-id');
await enbbox.notifications.unread('notification-id');

// Archive / unarchive
await enbbox.notifications.archive('notification-id');
await enbbox.notifications.unarchive('notification-id');

// Bulk operations
await enbbox.notifications.readAll();
await enbbox.notifications.archiveAll();

// Execute action
await enbbox.notifications.executeAction('notification-id', 'primary');

Preferences #

// List all preferences
final prefs = await enbbox.preferences.list();

// Update global preferences
await enbbox.preferences.update(
  const ChannelPreference(email: true, push: false),
);

// Update per-workflow preferences
await enbbox.preferences.updateWorkflow(
  'workflow-id',
  const ChannelPreference(inApp: true),
);

Events #

Event Type Description
EnbboxEvents.sessionInitialized SessionInitializedEvent Session connected
EnbboxEvents.sessionError SessionErrorEvent Session error occurred
EnbboxEvents.notificationReceived NotificationReceivedEvent New notification received via SSE
EnbboxEvents.unreadCountChanged UnreadCountChangedEvent Unread count updated
EnbboxEvents.listUpdated ListUpdatedEvent Notification list refreshed

License #

MIT

0
likes
150
points
137
downloads

Documentation

Documentation
API reference

Publisher

verified publisherenbbox.com

Weekly Downloads

Enbbox Flutter SDK — drop-in notification inbox for your Flutter app. Manage notifications, preferences, and real-time updates.

Homepage
Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

http

More

Packages that depend on enbbox