Merge pull request #10 from thejohnlima/release/v1.0.6 Bump version to 1.0.6 and update README
Merge pull request #10 from thejohnlima/release/v1.0.6
Bump version to 1.0.6 and update README
BaseTracking is the easiest way to setup your analytics in Swift.
BaseTracking is available through SPM. To install it, follow the steps:
Open Xcode project > File > Swift Packages > Add Package Dependecy
After that, put the url in the field: https://github.com/thejohnlima/BaseTracking.git
https://github.com/thejohnlima/BaseTracking.git
BaseTracking is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'BaseTracking'
and run pod install
pod install
Firebase Analytics
Example using a HomeViewController:
HomeViewController
import UIKit class HomeViewController: UIViewController { // MARK: - View LifeCycle override func viewDidLoad() { super.viewDidLoad() } override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) HomeTracking.trackView(name: .home) } // MARK: - Actions @IBAction private func openMenu(_ sender: Any?) { // Example using static values HomeTracking.trackEvent(name: .openMenu) } @IBAction private func showDetails(_ sender: Any?) { // Example using dynamic values let buttonName = (sender as? UIBarButtonItem)?.title ?? "" let parameters = HomeTracking.getSelectButtonParameter(buttonName) HomeTracking.trackEvent(name: .showDetails, parameters: parameters) } }
Example for HomeTracking file:
HomeTracking
import BaseTracking struct HomeTracking: BaseTrackingEventLog { enum ScreenName: String { case home } enum EventName: String { case openMenu = "home_open_menu" case showDetails = "home_open_details" } typealias ClassName = CustomRawRepresentable typealias EventParameters = CustomRawRepresentable } extension HomeTracking { /// Prepare the parameters using dynamic values /// - Parameter value: Dynamic value /// - Returns: Event Parameters static func getSelectButtonParameter(_ value: Any) -> EventParameters? { let item: [String: Any] = ["button_name": value] return EventParameters(rawValue: item) } }
TrackingManager file configuration :
TrackingManager
import Firebase import BaseTracking final class TrackingManager: BaseTrackingProtocol { static let shared = TrackingManager() func configure() { FirebaseApp.configure() FirebaseConfiguration.shared.setLoggerLevel(.warning) } func track(event log: BaseTrackingEventLogData) { logEvent(log.name, parameters: log.parameters) Analytics.logEvent(log.name, parameters: log.parameters) } func track(view data: BaseTrackingViewData) { logEvent(data.name) Analytics.setScreenName(data.name, screenClass: data.className) } private func logEvent(_ name: String, parameters: [String : Any]? = nil) { print("📊 Analytics - \(name)\n\(parameters ?? [:])") } } // MARK: - BaseTrackingEventLog extension BaseTrackingEventLog { static func trackView(name: ScreenName, className: ClassName? = nil) { let data = BaseTrackingViewData( name: name.rawValue as? String ?? "", className: className?.rawValue as? String ) TrackingManager.shared.track(view: data) } static func trackEvent(name: EventName, parameters: EventParameters? = nil) { let data = BaseTrackingEventLogData( name: name.rawValue as? String ?? "", parameters: parameters?.rawValue as? [String: Any] ) TrackingManager.shared.track(event: data) } }
If you need examples unsing Google Analytics or Segment Analytics, feel free to take a look at demo projects.
demo projects
Trello Board
Board
BaseTracking is under MIT license. See the LICENSE file for more info.
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
BaseTracking
BaseTracking is the easiest way to setup your analytics in Swift.
❗️Requirements
⚒ Installation
Swift Package Manager
BaseTracking is available through SPM. To install it, follow the steps:
After that, put the url in the field:
https://github.com/thejohnlima/BaseTracking.git
CocoaPods
BaseTracking is available through CocoaPods. To install it, simply add the following line to your Podfile:
and run
pod install
🎓 How to use
Firebase Analytics
Example using a
HomeViewController
:Example for
HomeTracking
file:TrackingManager
file configuration :If you need examples unsing Google Analytics or Segment Analytics, feel free to take a look at
demo projects
.🙋🏻 Communication
Trello
Board
📜 License
BaseTracking is under MIT license. See the LICENSE file for more info.