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 是 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 将 SwiftAnalyticsKit
集成到您的 Xcode 项目中,请在您的 Cartfile
中指定它。
github "SwiftyLab/SwiftAnalyticsKit"
Swift Package Manager 是一个用于自动化 Swift 代码分发的工具,并且集成到 swift
编译器中。
设置好 Swift 包后,将 SwiftAnalyticsKit
添加为依赖项就像将其添加到 Package.swift
的 dependencies
值一样简单。
.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
集成到您的项目中。
打开终端,cd
进入您的顶级项目目录,如果您的项目未初始化为 git 仓库,请运行以下命令
$ git init
通过运行以下命令将 SwiftAnalyticsKit
添加为 git 子模块
$ git submodule add https://github.com/SwiftyLab/SwiftAnalyticsKit.git
打开新的 SwiftAnalyticsKit
文件夹,然后将 SwiftAnalyticsKit.xcodeproj
拖到应用程序的 Xcode 项目或现有工作区中的项目导航器中。
它应该出现在应用程序的蓝色项目图标下方嵌套。它位于所有其他 Xcode 组的上方还是下方无关紧要。
在项目导航器中选择 SwiftAnalyticsKit.xcodeproj
,并验证部署目标是否满足您的应用程序目标(应小于或等于)。
接下来,在项目导航器中选择您的应用程序项目(蓝色项目图标),以导航到目标配置窗口,然后在侧边栏中的 Targets
标题下选择应用程序目标。
在该窗口顶部的选项卡栏中,打开“常规”面板。
单击 Frameworks and Libraries
部分下的 +
按钮。
您将看到 SwiftAnalyticsKit.xcodeproj
文件夹,其中嵌套了 Analytics.framework
和 AnalyticsMock.framework
。
选择 Analytics.framework
,就这样!
Analytics.framework
会自动作为目标依赖项、链接框架和嵌入式框架添加到构建阶段,这就是您在模拟器和设备上构建所需的一切。
要使用为测试用例提供的默认模拟,请在添加到测试目标时选择 AnalyticsMock.framework
。
您还可以直接从 GitHub 发布页面下载预先构建的工件
从 GitHub 发布页面下载格式为 SwiftAnalyticsKit-{version}.xcframework.zip
的工件,其中 {version}
是您要使用的版本。
从存档中提取 XCFrameworks,然后将 Analytics.xcframework
拖到 Xcode 项目中应用程序目标文件夹的项目导航器中。
选择 Copy items if needed
,就这样!
Analytics.xcframework
会自动添加到嵌入的Frameworks and Libraries
部分,进而添加到构建阶段中的链接框架。
要使用为测试用例提供的默认模拟,请使用先前提取的 XCFrameworks 中的 AnalyticsMock.xcframework
。
请参阅完整的文档,了解 API 详细信息和示例场景文章。
如果您希望贡献更改,提出任何改进建议,请查看我们的贡献指南,检查未解决的问题,看看它是否已经被处理,或者打开一个拉取请求。
SwiftAnalyticsKit
在 MIT 许可证下发布。有关详细信息,请参阅 LICENSE。