@@ -62,51 +62,34 @@ and run `pod install`
6262
6363** Firebase Analytics**
6464
65- ` TrackingManager ` file configuration :
65+ Example using a ` HomeViewController ` :
6666
6767``` swift
68- import Firebase
69- import BaseTracking
70-
71- final class TrackingManager : BaseTrackingProtocol {
72- static let shared = TrackingManager ()
73-
74- func configure () {
75- FirebaseApp.configure ()
76- FirebaseConfiguration.shared .setLoggerLevel (.warning )
77- }
68+ import UIKit
7869
79- func track (event log : BaseTrackingEventLogData) {
80- logEvent (log.name , parameters : log.parameters )
81- Analytics.logEvent (log.name , parameters : log.parameters )
82- }
70+ class HomeViewController : UIViewController {
8371
84- func track ( view data : BaseTrackingViewData) {
85- logEvent (data. name )
86- Analytics. setScreenName (data. name , screenClass : data. className )
72+ // MARK: - View LifeCycle
73+ override func viewDidLoad () {
74+ super . viewDidLoad ( )
8775 }
8876
89- private func logEvent (_ name : String , parameters : [String : Any ]? = nil ) {
90- print (" 📊 Analytics - \( name ) \n \( parameters ?? [: ] ) " )
77+ override func viewWillAppear (_ animated : Bool ) {
78+ super .viewWillAppear (animated)
79+ HomeTracking.trackView (name : .home )
9180 }
92- }
9381
94- // MARK: - BaseTrackingEventLog
95- extension BaseTrackingEventLog {
96- static func trackView (name : ScreenName, className : ClassName? = nil ) {
97- let data = BaseTrackingViewData (
98- name : name.rawValue as? String ?? " " ,
99- className : className? .rawValue as? String
100- )
101- TrackingManager.shared .track (view : data)
82+ // MARK: - Actions
83+ @IBAction private func openMenu (_ sender : Any ? ) {
84+ // Example using static values
85+ HomeTracking.trackEvent (name : .openMenu )
10286 }
10387
104- static func trackEvent (name : EventName, parameters : EventParameters? = nil ) {
105- let data = BaseTrackingEventLogData (
106- name : name.rawValue as? String ?? " " ,
107- parameters : parameters? .rawValue as? [String : Any ]
108- )
109- TrackingManager.shared .track (event : data)
88+ @IBAction private func showDetails (_ sender : Any ? ) {
89+ // Example using dynamic values
90+ let buttonName = (sender as? UIBarButtonItem)? .title ?? " "
91+ let parameters = HomeTracking.getSelectButtonParameter (buttonName)
92+ HomeTracking.trackEvent (name : .showDetails , parameters : parameters)
11093 }
11194}
11295```
@@ -142,34 +125,51 @@ extension HomeTracking {
142125}
143126```
144127
145- Example using a ` HomeViewController ` :
128+ ` TrackingManager ` file configuration :
146129
147130``` swift
148- import UIKit
131+ import Firebase
132+ import BaseTracking
149133
150- class HomeViewController : UIViewController {
134+ final class TrackingManager : BaseTrackingProtocol {
135+ static let shared = TrackingManager ()
151136
152- // MARK: - View LifeCycle
153- override func viewDidLoad () {
154- super . viewDidLoad ( )
137+ func configure () {
138+ FirebaseApp. configure ()
139+ FirebaseConfiguration. shared . setLoggerLevel (. warning )
155140 }
156141
157- override func viewWillAppear ( _ animated : Bool ) {
158- super . viewWillAppear (animated )
159- HomeTracking. trackView ( name : . home )
142+ func track ( event log : BaseTrackingEventLogData ) {
143+ logEvent (log. name , parameters : log. parameters )
144+ Analytics. logEvent (log. name , parameters : log. parameters )
160145 }
161146
162- // MARK: - Actions
163- @IBAction private func openMenu (_ sender : Any ? ) {
164- // Example using static values
165- HomeTracking.trackEvent (name : .openMenu )
147+ func track (view data : BaseTrackingViewData) {
148+ logEvent (data.name )
149+ Analytics.setScreenName (data.name , screenClass : data.className )
166150 }
167151
168- @IBAction private func showDetails (_ sender : Any ? ) {
169- // Example using dynamic values
170- let buttonName = (sender as? UIBarButtonItem)? .title ?? " "
171- let parameters = HomeTracking.getSelectButtonParameter (buttonName)
172- HomeTracking.trackEvent (name : .showDetails , parameters : parameters)
152+ private func logEvent (_ name : String , parameters : [String : Any ]? = nil ) {
153+ print (" 📊 Analytics - \( name ) \n \( parameters ?? [: ] ) " )
154+ }
155+ }
156+
157+ // MARK: - BaseTrackingEventLog
158+ extension BaseTrackingEventLog {
159+ static func trackView (name : ScreenName, className : ClassName? = nil ) {
160+ let data = BaseTrackingViewData (
161+ name : name.rawValue as? String ?? " " ,
162+ className : className? .rawValue as? String
163+ )
164+ TrackingManager.shared .track (view : data)
165+ }
166+
167+ static func trackEvent (name : EventName, parameters : EventParameters? = nil ) {
168+ let data = BaseTrackingEventLogData (
169+ name : name.rawValue as? String ?? " " ,
170+ parameters : parameters? .rawValue as? [String : Any ]
171+ )
172+ TrackingManager.shared .track (event : data)
173173 }
174174}
175175```
0 commit comments