BaseTracking
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文件。