Atelerix Flutter SDK
The official Flutter SDK for Atelerix — a unified monitoring and engagement platform built for modern apps.
Integrate once and get everything your team needs: error tracking, crash reporting, analytics, push notifications, in-app messages, user feedback, and update management — all from a single SDK and dashboard.
Features
- Error & Crash Tracking — Capture and report errors with full stack traces automatically
- Analytics — Track users, sessions, screen views, and geographic data
- Push Notifications — Send targeted notifications
- In-App Messages — Display announcements and banners inside your app
- User Feedback — Collect feedback directly from your users
- App Update Management — Notify users of updates or enforce forced upgrades
- Event Tracking — Track live and one-time user interactions
- Multi-Project Support — Manage multiple apps under one organization
Installation
Add the package to your pubspec.yaml:
dependencies:
atelerix: ^lastest_version
Then run:
flutter pub get
Quick Start
1. Initialize the SDK
Atelerix wraps your app startup via the builder callback:
import 'package:atelerix/atelerix.dart';
import 'package:flutter/material.dart';
void main() {
Atelerix.init(
url: "https://api.atelerix.com",
apiKey: "YOUR_API_KEY",
projectId: "YOUR_PROJECT_ID",
builder: () async {
WidgetsFlutterBinding.ensureInitialized();
runApp(const MyApp());
},
);
}
2. Initialize Push Notifications
Notifications are lazily initialized — call init() when ready:
await Atelerix.notifications.init();
// Request permissions
final granted = await Atelerix.notifications.requestPermissions();
// Get device token
final token = await Atelerix.notifications.deviceToken;
3. Handle Notification Events
Atelerix.notifications.setOnNotificationReceived((data) {
// Handle foreground notification
});
Atelerix.notifications.setOnNotificationTapped((data) {
// Handle notification tap
});
4. Track an Error
try {
// your code
} catch (exception, stack) {
Atelerix.throwError(
exception,
stack,
bugSeverity: BugSeverity.high,
bugType: BugType.crash,
);
}
With extra metadata:
Atelerix.throwError(
exception,
stack,
bugSeverity: BugSeverity.high,
bugType: BugType.crash,
metaData: {"userId": "123", "screen": "checkout"},
);
5. Get User ID
final userId = Atelerix.getUserId(); // returns String?
API Reference
Atelerix.init()
| Parameter | Type | Required | Description |
|---|---|---|---|
url |
String |
✅ | Your Atelerix API base URL |
apiKey |
String |
✅ | Your project API key |
projectId |
String |
✅ | Your project ID |
builder |
Future<void> Function() |
✅ | App startup callback |
Atelerix.throwError()
| Parameter | Type | Required | Description |
|---|---|---|---|
exception |
dynamic |
✅ | The caught exception |
stack |
StackTrace |
✅ | The stack trace |
bugSeverity |
BugSeverity |
❌ | low, medium, high |
bugType |
BugType |
❌ | crash, bug, etc. |
metaData |
Map<String, dynamic> |
❌ | Any extra context |
Atelerix.notifications
| Method | Returns | Description |
|---|---|---|
init() |
Future<void> |
Initialize the notifications module |
requestPermissions() |
Future<bool> |
Request notification permissions |
deviceToken |
Future<String?> |
Get the device push token |
setOnNotificationReceived(callback) |
void |
Foreground notification handler |
setOnNotificationTapped(callback) |
void |
Notification tap handler |
Modules
| Module | Description | Status |
|---|---|---|
| Error Tracking | Automatic and manual error capture | ✅ Live |
| Push Notifications | Send Notifications via dashboard or api request | ✅ Live |
| Analytics | User and session analytics | 🔜 Soon |
| In-App Messages | Popup and banner messages | 🔜 Soon |
| Feedback | User feedback collection UI | 🔜 Soon |
| Updates | Soft and forced update prompts | 🔜 Soon |
| Events | Live and one-time event tracking | 🔜 Soon |
Requirements
- Flutter
>=3.0.0 - Dart
>=3.0.0 - Android
minSdkVersion 21 - iOS
>=12.0
Support
License
This SDK is distributed under the Atelerix SDK License. See LICENSE for details.