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