Latest Version Swift Platforms

Swift Package Manager Cocoapods Cathage Manually

CodeCoverage License Contribution First Timers Friendly

Size Files

EventTracker

EventTracker 是一个开源 Swift 库,它允许您轻松跟踪和监控多个已命名的事件及其发生次数。 该库提供了一个简单的界面来注册、更新、重置和评估基于可自定义条件的事件。 它还包括通过 UserDefaults 进行日志记录和持久化的支持。

用例

我在另一个库 ReviewPrompter 中使用它,但它可用于跟踪任意数量的事情,当您希望在用户执行了某个事件 x 次后执行某些操作时,例如,在用户使用某个功能三次后提示他们购买高级订阅。

特性

🧪 测试

该库几乎已完全测试,代码覆盖率达到 98.2%

💻 安装

Swift Package Manager

要使用 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 文件。

Buy Me A Coffee