Skip to content

Commit baed44d

Browse files
committed
Add back referrer url tracking
1 parent f41899a commit baed44d

File tree

5 files changed

+34
-2
lines changed

5 files changed

+34
-2
lines changed

.flutter-plugins-dependencies

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"device_info_plus","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/device_info_plus-10.1.0/","native_build":true,"dependencies":[]},{"name":"package_info_plus","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/package_info_plus-8.0.0/","native_build":true,"dependencies":[]},{"name":"referrer","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/referrer-0.0.2/","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.4.0/","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"android":[{"name":"device_info_plus","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/device_info_plus-10.1.0/","native_build":true,"dependencies":[]},{"name":"package_info_plus","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/package_info_plus-8.0.0/","native_build":true,"dependencies":[]},{"name":"referrer","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/referrer-0.0.2/","native_build":true,"dependencies":[]},{"name":"shared_preferences_android","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/shared_preferences_android-2.2.2/","native_build":true,"dependencies":[]}],"macos":[{"name":"device_info_plus","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/device_info_plus-10.1.0/","native_build":true,"dependencies":[]},{"name":"package_info_plus","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/package_info_plus-8.0.0/","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.4.0/","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"linux":[{"name":"device_info_plus","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/device_info_plus-10.1.0/","native_build":false,"dependencies":[]},{"name":"package_info_plus","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/package_info_plus-8.0.0/","native_build":false,"dependencies":[]},{"name":"path_provider_linux","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/","native_build":false,"dependencies":[]},{"name":"shared_preferences_linux","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.3.2/","native_build":false,"dependencies":["path_provider_linux"]}],"windows":[{"name":"device_info_plus","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/device_info_plus-10.1.0/","native_build":false,"dependencies":[]},{"name":"package_info_plus","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/package_info_plus-8.0.0/","native_build":false,"dependencies":[]},{"name":"path_provider_windows","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/path_provider_windows-2.2.1/","native_build":false,"dependencies":[]},{"name":"shared_preferences_windows","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.3.2/","native_build":false,"dependencies":["path_provider_windows"]}],"web":[{"name":"device_info_plus","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/device_info_plus-10.1.0/","dependencies":[]},{"name":"package_info_plus","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/package_info_plus-8.0.0/","dependencies":[]},{"name":"shared_preferences_web","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/shared_preferences_web-2.3.0/","dependencies":[]}]},"dependencyGraph":[{"name":"device_info_plus","dependencies":[]},{"name":"package_info_plus","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"referrer","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_android","shared_preferences_foundation","shared_preferences_linux","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_android","dependencies":[]},{"name":"shared_preferences_foundation","dependencies":[]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]}],"date_created":"2024-05-24 09:44:27.728713","version":"3.22.1"}
1+
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"device_info_plus","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/device_info_plus-10.1.0/","native_build":true,"dependencies":[]},{"name":"package_info_plus","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/package_info_plus-8.0.0/","native_build":true,"dependencies":[]},{"name":"referrer","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/referrer-0.0.2/","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.4.0/","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"android":[{"name":"device_info_plus","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/device_info_plus-10.1.0/","native_build":true,"dependencies":[]},{"name":"package_info_plus","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/package_info_plus-8.0.0/","native_build":true,"dependencies":[]},{"name":"referrer","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/referrer-0.0.2/","native_build":true,"dependencies":[]},{"name":"shared_preferences_android","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/shared_preferences_android-2.2.2/","native_build":true,"dependencies":[]}],"macos":[{"name":"device_info_plus","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/device_info_plus-10.1.0/","native_build":true,"dependencies":[]},{"name":"package_info_plus","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/package_info_plus-8.0.0/","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.4.0/","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"linux":[{"name":"device_info_plus","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/device_info_plus-10.1.0/","native_build":false,"dependencies":[]},{"name":"package_info_plus","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/package_info_plus-8.0.0/","native_build":false,"dependencies":[]},{"name":"path_provider_linux","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/","native_build":false,"dependencies":[]},{"name":"shared_preferences_linux","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.3.2/","native_build":false,"dependencies":["path_provider_linux"]}],"windows":[{"name":"device_info_plus","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/device_info_plus-10.1.0/","native_build":false,"dependencies":[]},{"name":"package_info_plus","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/package_info_plus-8.0.0/","native_build":false,"dependencies":[]},{"name":"path_provider_windows","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/path_provider_windows-2.2.1/","native_build":false,"dependencies":[]},{"name":"shared_preferences_windows","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.3.2/","native_build":false,"dependencies":["path_provider_windows"]}],"web":[{"name":"device_info_plus","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/device_info_plus-10.1.0/","dependencies":[]},{"name":"package_info_plus","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/package_info_plus-8.0.0/","dependencies":[]},{"name":"shared_preferences_web","path":"/Users/steve_nosse-djou/.pub-cache/hosted/pub.dev/shared_preferences_web-2.3.0/","dependencies":[]}]},"dependencyGraph":[{"name":"device_info_plus","dependencies":[]},{"name":"package_info_plus","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"referrer","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_android","shared_preferences_foundation","shared_preferences_linux","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_android","dependencies":[]},{"name":"shared_preferences_foundation","dependencies":[]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]}],"date_created":"2024-05-24 09:54:41.640939","version":"3.22.1"}

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
## 0.0.6
2+
- Add back referrer tracking
3+
14
## 0.0.5
25
- Replace User Agent lib with another one that supports all platforms
36
- Remove lifecycle events tracking (for now)
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import 'package:flutter/widgets.dart';
2+
import 'package:openpanel_flutter/openpanel_flutter.dart';
3+
import 'package:referrer/referrer.dart' as r;
4+
5+
class ReferrerObserver with WidgetsBindingObserver {
6+
@override
7+
Future<bool> didPushRouteInformation(
8+
RouteInformation routeInformation,
9+
) async {
10+
final referrerInfo = await r.Referrer().getReferrer();
11+
if (referrerInfo?.referrer != null) {
12+
Openpanel.instance.setGlobalProperties({
13+
'__referrer': referrerInfo!.referrer,
14+
});
15+
}
16+
17+
return super.didPushRouteInformation(routeInformation);
18+
}
19+
}

lib/src/open_panel.dart

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,15 @@ import 'dart:developer';
22

33
import 'package:device_info_plus/device_info_plus.dart';
44
import 'package:flutter/foundation.dart';
5+
import 'package:flutter/material.dart';
56
import 'package:logger/web.dart';
67

78
import 'package:openpanel_flutter/src/models/open_panel_event_options.dart';
89
import 'package:openpanel_flutter/src/models/open_panel_options.dart';
910
import 'package:openpanel_flutter/src/models/open_panel_state.dart';
1011
import 'package:openpanel_flutter/src/models/post_event_payload.dart';
1112
import 'package:openpanel_flutter/src/models/update_profile_payload.dart';
13+
import 'package:openpanel_flutter/src/observers/referrer_observer.dart';
1214
import 'package:openpanel_flutter/src/services/openpanel_http_client.dart';
1315
import 'package:openpanel_flutter/src/services/preferences_service.dart';
1416
import 'package:package_info_plus/package_info_plus.dart';
@@ -43,6 +45,12 @@ class Openpanel {
4345

4446
/// Initialise Openpanel.
4547
/// This must be called before using Openpanel.
48+
///
49+
/// - [options]
50+
/// - [url] - Openpanel url
51+
/// - [clientId] - Openpanel client id
52+
/// - [clientSecret] - Openpanel client secret
53+
/// - [verbose] - Enable verbose logging
4654
///
4755
/// Example:
4856
/// ```dart
@@ -89,6 +97,8 @@ class Openpanel {
8997

9098
await _httpClient.init(options);
9199

100+
WidgetsBinding.instance.addObserver(ReferrerObserver());
101+
92102
_isClientInitialised = true;
93103
}
94104

pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: openpanel_flutter
22
description: "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."
3-
version: 0.0.5
3+
version: 0.0.6
44
homepage: https://github.com/stevenosse/openpanel_flutter.git
55
topics:
66
- analytics

0 commit comments

Comments
 (0)