heronsignal_flutter 0.1.5
heronsignal_flutter: ^0.1.5 copied to clipboard
Flutter wrapper for HeronSignal mobile analytics and diagnostics.
HeronSignal Flutter #
Flutter SDK for HeronSignal mobile analytics and diagnostics.
Use it to send mobile screens, taps, business events, logs, and handled errors to HeronSignal from Flutter apps.
Install #
dependencies:
heronsignal_flutter: ^0.1.5
Dashboard setup #
Mobile apps do not use website domains. Before sending events, register your app profile in HeronSignal:
- Open
Dashboard → Install → Mobile SDK. - Add your Android package name, for example
com.company.app. - Copy your workspace public key.
Usage #
import 'package:flutter/material.dart';
import 'package:heronsignal_flutter/heronsignal_flutter.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await HeronSignal.init(
publicKey: "pk_your_workspace_key",
apiUrl: "https://api.heronsignal.com",
);
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
navigatorObservers: [
HeronSignalNavigatorObserver(),
],
routes: {
"/": (_) => const HomeScreen(),
},
);
}
}
Track important actions #
HeronSignal.screen("Home");
HeronSignal.tap("Request demo button", data: {
"screen": "Home",
});
HeronSignal.event("demo_requested", {
"location": "hero",
});
HeronSignal.log("warn", "Checkout retry happened", {
"area": "checkout",
});
try {
await submitLeadForm();
} catch (error, stackTrace) {
HeronSignal.captureError(error, stackTrace: stackTrace);
}
Automatic screen tracking #
Use HeronSignalNavigatorObserver when your app uses named Flutter routes. It sends a screen event when a route is pushed, replaced, or popped back to.
If your app does not use named routes, call HeronSignal.screen("Screen name") manually or provide a routeNameBuilder.
Local Android emulator testing #
If your backend runs locally on your machine, Android emulators should use 10.0.2.2 instead of localhost:
await HeronSignal.init(
publicKey: "pk_your_workspace_key",
apiUrl: "http://10.0.2.2:3000",
debug: true,
);
Use https://api.heronsignal.com for production.