1
+ import 'package:firebase_analytics/firebase_analytics.dart' ;
2
+ import 'package:firebase_analytics/observer.dart' ;
3
+
4
+ class AnalytcisManager {
5
+ static final AnalytcisManager _instance = AnalytcisManager ._init ();
6
+ static AnalytcisManager get instance => _instance;
7
+ AnalytcisManager ._init ();
8
+
9
+ static final _analytics = FirebaseAnalytics ();
10
+
11
+ final observer = FirebaseAnalyticsObserver (analytics: _analytics);
12
+
13
+ Future <void > customEvent (String name) async {
14
+ //her şey yapılabilir
15
+ await observer.analytics.logEvent (name: name);
16
+ }
17
+
18
+ //USER ANALYTICS
19
+ //kayıt sırasında user ıd yi almak için
20
+ Future setUserAnalytics (
21
+ { String userID, String name, String value}) async {
22
+ await _analytics.setUserId (userID);
23
+
24
+ //kullanıcılara rol vermek için kullanılabilir (ADMİN-KULLANICI-PREMIUMS VS VS)
25
+ //bunu yapacaksak öncelikle
26
+ //firebase consola git
27
+ //custom definision tıkla
28
+ //sap üstte create custom dimensions bas
29
+ //user property ye bu parametrdeki name ile aynı ismi ver
30
+ //scope den user ı seç
31
+ //dimension name ya raporda gözükecek olan başlığı yaz
32
+ //descriptiona ufak bi açıklamasını yaz
33
+ if (name != null && value != null ) {
34
+ await observer.analytics.setUserProperty (name: name, value: value);
35
+ }
36
+ }
37
+
38
+ Future <void > userLogin (String signUpMethod) async {
39
+ await _analytics.logLogin (loginMethod: signUpMethod);
40
+ }
41
+
42
+ Future <void > userSignUp (String signUpMethod) async {
43
+ await observer.analytics.logSignUp (signUpMethod: signUpMethod);
44
+ }
45
+ }
0 commit comments