openpanel_flutter 0.2.1
openpanel_flutter: ^0.2.1 copied to clipboard
Openpanel is an open-source alternative to Mixpanel that combines the power of Mixpanel with the ease of Plausible. This package is not officially maintained by the Openpanel team.
Openpanel Flutter SDK #
Non official Flutter SDK for Openpanel, the open source alternative to Mixpanel, GA & Plausible.
Getting started #
First, you need to create an account on Openpanel.
Install this package from pub.dev
$ flutter pub add openpanel_flutter
Usage #
Import the package:
import 'package:openpanel_flutter/openpanel_flutter.dart';
Then you need to initialize Openpanel before using it:
import 'package:openpanel_flutter/openpanel_flutter.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Openpanel.instance.initialize(
options: OpenpanelOptions(
clientId: <YOUR_CLIENT_ID>,
clientSecret: <YOUR_CLIENT_SECRET>,
)
);
runApp(MyApp());
}
Track event #
To track an event, use:
Openpanel.instance.event('event_name', properties: {
...
})
Track navigation #
Add the OpenpanelObserver
if you want to track navigation
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
navigatorObservers: [
OpenpanelObserver()
],
...
);
}
}
Track install referrer #
To track the referrer url, use the ReferrerObserver
if you want to track the referrer url
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
navigatorObservers: [
ReferrerObserver()
],
...
)
}
}
Global properties #
You can set global properties that will be sent with every event. This is useful if you want to set a custom user id for example.
Openpanel.instance.setGlobalProperties({
'user_id': '123',
...
});
Other options #
Customize the url
You can also customize the url of the openpanel server. This is useful if you have a custom domain or use a self-hosted instance of Openpanel.
Enable verbose logging
Openpanel.instance.initialize(
options: OpenpanelOptions(
clientId: <YOUR_CLIENT_ID>,
clientSecret: <YOUR_CLIENT_SECRET>,
verbose: true
)
)
Disable events collection
You can disable events collection if you don't want to send events to Openpanel.
Openpanel.instance.setCollectionEnabled(false);
Data tracking #
This plugin automatically tracks the following data:
- App version
- Build number
- Platform
- Device model
- Os version
- Manufacturer
Issues #
Contributing #
If you wish to contribute, please send a PR to the Github Repo
Credits #
-
Openpanel: Github Repo | Website | Documentation | Author
-
Maintainer: Steve NOSSE