BaseTracking 1.0.6

BaseTracking 1.0.6

John Lima 维护。



BaseTracking

GitHub release Build Status CocoaPods GitHub repo size License Platform Donate

BaseTracking 是在 Swift 中设置分析的最佳方式。

❗️要求

  • iOS 9.3+
  • Swift 5.0+

安装

Swift 包管理器

BaseTracking 通过 SPM 提供。要安装它,按照以下步骤操作:

Open Xcode project > File > Swift Packages > Add Package Dependecy

之后,将 URL 放入字段:https://github.com/thejohnlima/BaseTracking.git

CocoaPods

BaseTracking 通过 CocoaPods 提供。要安装它,只需在 Podfile 中添加以下行:

pod 'BaseTracking'

并运行 pod install

🎓如何使用

使用 Firebase 分析的示例

在 Swift 文件中导入库

import BaseTracking

在您的跟踪管理器文件中为 BaseTrackingProtocol 创建一个扩展

extension TrackingManager: BaseTrackingProtocol {
  func configure() {
    FirebaseApp.configure()
  }

  func track(event log: BaseTrackingEventLogData) {
    Analytics.logEvent(log.name, parameters: log.parameters)
  }

  func track(view data: BaseTrackingViewData) {
    Analytics.setScreenName(data.name, screenClass: data.className)
  }
}

并为协议方法创建另一个扩展

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)
  }
}

现在,为应用程序的某个区域创建一个跟踪文件。
示例

struct HomeTracking: BaseTrackingEventLog {
  enum ScreenName: String {
    case home
  }

  enum EventName: String {
    case showDetails = "show_home_details"
  }

  typealias ClassName = CustomRawRepresentable
  typealias EventParameters = CustomRawRepresentable
}

extension HomeTracking {
  static func getSelectButtonParameter(_ value: Any) -> EventParameters? {
    let item: [String: Any] = ["button_name": value]
    return EventParameters(rawValue: item)
  }
}

然后,让我们获取一些跟踪数据。

class HomeViewController: UIViewController {

  override func viewDidLoad() {
    super.viewDidLoad()
  }

  override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    HomeTracking.trackView(name: .home)
  }

  @IBAction private func showDetails(sender: Any?) {
    let buttonName = (sender as? UIBarButtonItem)?.title ?? ""
    let parameters = HomeTracking.getSelectButtonParameter(buttonName)
    HomeTracking.trackEvent(name: .showDetails, parameters: parameters)
  }
}

如果您需要 GA 的示例,请查看 示例项目

🙋‍ Communication

  • 如果你发现了错误,请提交问题。
  • 如果你有功能建议,请提交问题。
  • 如果你想贡献,请提交合并请求。 👨‍💻

📜许可协议

BaseTracking 使用MIT许可协议。更多详细信息,请参阅LICENSE文件。