pushengage_flutter_sdk 1.0.0
pushengage_flutter_sdk: ^1.0.0 copied to clipboard
PushEngage Flutter Plugin allows you to integrate Push Notification service into your Flutter application.
Flutter Push Notification SDK
Add cross-platform push notifications to your Flutter app.
Why PushEngage? #
PushEngage is a complete push notification platform that supports web and mobile from a single dashboard. Unlike wiring up Firebase Cloud Messaging and APNs yourself, PushEngage gives you a full marketing toolkit on top of reliable cross-platform delivery: audience segmentation, automated drip campaigns, A/B testing, analytics, and a no-code campaign builder.
Key features of the Flutter SDK:
- Cross-Platform -- single API for both Android and iOS
- Rich Notifications -- images, action buttons, custom sounds
- Deep Linking -- native
Stream-based deep link handling - Audience Segmentation -- static and dynamic segments based on user behavior
- Triggered Campaigns -- send notifications based on in-app events
- Goal Tracking -- measure conversions tied to notifications
- Price Drop & Inventory Alerts -- e-commerce trigger notifications
- Subscriber Attributes -- store custom key-value data per subscriber
- Type-Safe Results -- all async methods return
PushEngageResult<T>with built-in error handling
Installation #
Add to your pubspec.yaml:
dependencies:
pushengage_flutter_sdk: ^1.0.0
Then run:
flutter pub get
Prerequisites: Firebase project (Android) + Apple Developer account (iOS). See the Getting Started Guide for platform-specific setup.
Quick Start #
1. Initialize the SDK #
import 'package:pushengage_flutter_sdk/pushengage_flutter_sdk.dart';
void main() {
WidgetsFlutterBinding.ensureInitialized();
PushEngage.setAppId('YOUR_APP_ID');
runApp(MyApp());
}
2. Request Permission & Subscribe #
final permResult = await PushEngage.requestNotificationPermission();
if (permResult.data == true) {
final subResult = await PushEngage.subscribe();
print('Subscribed: ${subResult.data}');
}
3. Handle Deep Links #
PushEngage.deepLinkStream.listen((data) {
if (data != null) {
// Navigate to the appropriate screen based on data
print('Deep link received: $data');
}
});
4. Send a Goal Event #
final goal = Goal(name: 'purchase_complete', count: 1, value: 49.99);
await PushEngage.sendGoal(goal);
API Overview #
| Category | Methods |
|---|---|
| Setup | setAppId, getSdkVersion, setSmallIconResource (Android), setBadgeCount, runConfigValidation (Android), enableLogging |
| Permissions | requestNotificationPermission, getNotificationPermissionStatus |
| Subscription | subscribe, unsubscribe, getSubscriptionStatus, getSubscriptionNotificationStatus |
| Subscriber Data | getSubscriberId, getSubscriberDetails, getDeviceTokenHash (Android), addProfileId, identify, logout |
| Attributes | addSubscriberAttributes, setSubscriberAttributes, getSubscriberAttributes, deleteSubscriberAttributes |
| Segments | addSegment, removeSegment, addDynamicSegment |
| Events | sendTriggerEvent, sendGoal, addAlert, trackEvent |
| Notifications | getInitialNotification (iOS) |
| Campaigns | automatedNotification (enable/disable) |
| Streams | deepLinkStream (deep link data), onFcmConfigError (Android FCM config errors) |
All async methods return PushEngageResult<T> which wraps the response data and any errors for safe handling.
Full API reference: Flutter SDK Public APIs
Example Project #
The example/ directory contains a complete Flutter app demonstrating:
- Push notification setup and permission handling
- Home screen with subscriber management
- Alert entries (price drop / inventory)
- Trigger campaigns
- Goal tracking
To run the example:
cd example
flutter pub get
flutter run
Documentation #
- Getting Started Guide -- step-by-step setup for Android and iOS
- Flutter SDK API Reference -- complete API docs
- PushEngage Dashboard -- manage campaigns and analytics
Requirements #
| Requirement | Minimum |
|---|---|
| Flutter | 3.3.0+ |
| Dart | 3.4.3+ |
| iOS | 12.0+ |
| Android | 5.0+ (API 21) |
| Firebase | Required (Android) |
| APNs | Required (iOS) |
Contributing #
See CONTRIBUTING.md for guidelines.
Support #
Having trouble? We're here to help.
- Issues & Bugs -- Open a GitHub issue
- General Support -- Contact us from your PushEngage dashboard or email care@pushengage.com
License #
MIT -- see LICENSE for details.