SwiftAnalyticsKit

API Docs CocoaPods Compatible Swift Package Manager Compatible Carthage compatible Swift Platforms CI/CD CodeFactor codecov

SwiftAnalyticsKit 是一个 API 包,旨在建立一个通用的分析 API 供生态系统使用。您可以实现 AnalyticsHandler 来创建兼容的分析后端。如果默认的编码器不适用于您的情况,您还可以使用 AnalyticsEncoder 创建自定义编码器来序列化后端的元数据。

实现 AnalyticsEvent 以创建兼容的事件,或者实现 GlobalAnalyticsMetadata 以创建兼容的元数据对象,而无需指定特定的事件类型。

enum LoginEvent: String, AnalyticsEvent {
    case loginAttempted
    case loginSucceeded
    case loginFailed

    struct Metadata: AnalyticsMetadata {
        let user: String
    }
}

let handler = MultiplexAnalyticsHandler<String>()
LoginEvents.loginAttempted.fire(on: handler, data: .init(user: "user"))

要求

平台 最低 Swift 版本 安装 状态
iOS 8.0+ / macOS 10.10+ / tvOS 9.0+ / watchOS 2.0+ 5.1 CocoaPods, Carthage, Swift Package Manager, 手动 完全测试
Linux 5.1 Swift Package Manager 完全测试
Windows 5.3 Swift Package Manager 完全测试

安装

CocoaPods

CocoaPods 是 Cocoa 项目的依赖管理工具。有关使用和安装说明,请访问他们的网站。要使用 CocoaPods 将 SwiftAnalyticsKit 集成到您的 Xcode 项目中,请在您的 Podfile 中指定它。

pod 'SwiftAnalyticsKit'

可选地,您还可以使用 GitHub 发布页面中预先构建的 XCFramework,方法是将 {version} 替换为您要使用的所需版本。

pod 'SwiftAnalyticsKit', :http => 'https://github.com/SwiftyLab/SwiftAnalyticsKit/releases/download/v{version}/SwiftAnalyticsKit-{version}.xcframework.zip'

要使用为测试用例提供的默认模拟,请将 Mock 子规格添加到您的测试目标。

pod 'SwiftAnalyticsKit/Mock'

Carthage

Carthage 是一个去中心化的依赖管理器,可以构建您的依赖项并为您提供二进制框架。要使用 Carthage 将 SwiftAnalyticsKit 集成到您的 Xcode 项目中,请在您的 Cartfile 中指定它。

github "SwiftyLab/SwiftAnalyticsKit"

Swift Package Manager

Swift Package Manager 是一个用于自动化 Swift 代码分发的工具,并且集成到 swift 编译器中。

设置好 Swift 包后,将 SwiftAnalyticsKit 添加为依赖项就像将其添加到 Package.swiftdependencies 值一样简单。

.package(url: "https://github.com/SwiftyLab/SwiftAnalyticsKit.git", from: "1.0.0"),

并将产品作为依赖项添加到您的目标中

.product(name: "Analytics", package: "SwiftAnalyticsKit")
.product(name: "AnalyticsMock", package: "SwiftAnalyticsKit") // To use mocks, i.e. in test targets

可选地,您还可以使用 GitHub 发布页面中预先构建的 XCFramework,方法是将 {version}{checksum} 替换为您要使用的所需版本和工件的校验和。

.binaryTarget(name: "Analytics", url: "https://github.com/SwiftyLab/SwiftAnalyticsKit/releases/download/v{version}/SwiftAnalyticsKit-{version}.xcframework.zip", checksum: "{checksum}"),

手动

如果您不想使用上述任何依赖管理器,您可以手动将 SwiftAnalyticsKit 集成到您的项目中。

Git 子模块

XCFramework

您还可以直接从 GitHub 发布页面下载预先构建的工件

用法

请参阅完整的文档,了解 API 详细信息和示例场景文章。

贡献

如果您希望贡献更改,提出任何改进建议,请查看我们的贡献指南,检查未解决的问题,看看它是否已经被处理,或者打开一个拉取请求

许可证

SwiftAnalyticsKit 在 MIT 许可证下发布。有关详细信息,请参阅 LICENSE