EventTracker 是一个开源 Swift 库,它允许您轻松跟踪和监控多个已命名的事件及其发生次数。 该库提供了一个简单的界面来注册、更新、重置和评估基于可自定义条件的事件。 它还包括通过 UserDefaults 进行日志记录和持久化的支持。
我在另一个库 ReviewPrompter 中使用它,但它可用于跟踪任意数量的事情,当您希望在用户执行了某个事件 x 次后执行某些操作时,例如,在用户使用某个功能三次后提示他们购买高级订阅。
该库几乎已完全测试,代码覆盖率达到 98.2%
要使用 Swift Package Manager 将 EventTracker 添加到您的项目中,请在您的 Package.swift 文件中添加以下依赖项
dependencies: [
.package(url: "https://github.com/ChristianFox/EventTracker.git", from: "1.0.0")
]
不要忘记将 EventTracker 添加到您的目标依赖项中
targets: [
.target(
name: "YourTarget",
dependencies: ["EventTracker"]),
]
初始化一个实例
import EventTracker
let eventTracker = EventTracker(isLoggingEnabled: true)
开始跟踪一个事件
eventTracker.trackEvent(forIdentifier: "event1", withCondition: 3)
停止跟踪一个事件
eventTracker.stopTrackingEvent(forIdentifier: "event1")
更改事件的条件
do {
try eventTracker.changeCondition(5, forIdentifier: "event1")
} catch {
print("Error updating event condition: \(error)")
}
增加事件计数
do {
try eventTracker.increaseEventCount(forIdentifier: "event1")
} catch {
print("Error increasing event count: \(error)")
}
重置事件计数
do {
try eventTracker.resetEventCount(forIdentifier: "event1")
} catch {
print("Error resetting event count: \(error)")
}
检查事件的条件是否已满足
if eventTracker.hasEventMetCondition(forIdentifier: "event1") {
print("Event met condition!")
}
检查事件是否正在被跟踪
if eventTracker.isTrackingEvent(forIdentifier: "event1") {
print("Event is being tracked!")
}
检查事件发生的次数
let eventCount = eventTracker.eventCount(forIdentifier: "event1")
print("Event count: \(eventCount)")
检查事件的当前条件
let eventCondition = eventTracker.condition(forIdentifier: "event1")
print("Event condition: \(eventCondition)")
请打开一个 issue 以获取支持。
欢迎提交 Pull Request。 欢迎所有技能水平的开发人员帮助改进该库、修复错误或添加新功能。
对于重大更改,请先打开一个 issue 以讨论您想要更改的内容。
在提交 Pull Request 之前,请确保您的代码符合现有的代码风格和约定,并且所有测试均通过。 此外,如果您要添加新功能,请确保包含单元测试以验证行为。
如果您有任何问题或需要帮助,请随时打开一个 issue,我将尽力帮助您。
EventTracker 在 MIT 许可证下发布。 有关更多信息,请参阅 LICENSE 文件。