Simple Analytics Swift Package

Swift package for Simple Analytics。为你的 iOS 应用添加注重隐私的分析功能。目前正在开发中。这是一个 alpha 版本,一切都可能改变。

安装

当使用 Xcode 添加包依赖项时,通过 File > Add package dependency 添加此仓库:https://github.com/simpleanalytics/swift-package.git

或者当使用 package manifest 时使用

.package(url: "https://github.com/simpleanalytics/swift-package.git", from: "0.3.0")

用法

你需要一个 Simple Analytics 账户才能使用此包。请访问 Simple Analytics 获取更多信息。

导入库

import SimpleAnalytics

你将需要一个 Simple Analytics 网站的主机名,以便在你的应用中启动 SimpleAnalytics 的实例。你可以为你的应用专门在 Simple Analytics 中添加一个虚假的 “网站”。无需指向真实的服务器。你可以使用类似 mobileapp.yourdomain.com 这样的域名。跳过 HTML 验证,点击 “I installed the script”。⚠️请确保你在 Swift 中设置的主机名与 Simple Analytics 中的网站域名一致(不包含 http:// 或 https://)。

let simpleAnalytics = SimpleAnalytics(hostname: "mobileapp.yourdomain.com")

你可以在需要的地方创建实例,或者你可以创建一个扩展并将其用作静态类。

import SimpleAnalytics

extension SimpleAnalytics {
    static let shared: SimpleAnalytics = SimpleAnalytics(hostname: "mobileapp.yourdomain.com")
}

追踪

你可以从应用中的任何位置调用追踪函数。

追踪页面浏览量

使用页面浏览量来追踪你应用中的屏幕。

SimpleAnalytics.shared.track(path: ["list"])

为了表示视图中的层级结构,将每个级别作为路径数组中的一个条目添加

SimpleAnalytics.shared.track(path: ["detailview", "item1", "edit"])

这将在 Simple Analytics 上转换为 /detailview/item1/edit 的页面浏览量。

追踪事件

使用事件来追踪交互或值得注意的事件,例如页面上的错误或成功。

SimpleAnalytics.shared.track(event: "logged in")

你可以提供一个可选的路径来与事件一起追踪。

SimpleAnalytics.shared.track(event: "logged in", path: ["login", "social"])

为应用 + 小部件追踪访客

如果你有一个应用 + 小部件,默认情况下,每个目标(应用、小部件)每天的单次访问都被视为独立的 “访客”。这意味着,如果你有一个应用,包含小型和中型小部件,一个人使用核心应用和两个小部件将在你的 SimpleAnalytics 仪表板中显示为 3 位访客。但是,你可以通过在你的 Xcode 项目中创建一个 App Group 来确保一位访客每天只出现一次。在你的每个目标(Project > Targets > Signing & Capabilities > App Groups)中创建一个新的 App Group (说明),并使用相同的名称。在你的 SimpleAnalytics 实例中使用这个 app group 名称。

let simpleAnalytics = SimpleAnalytics(hostname: "app.simpleanalytics.com", sharedDefaultsSuiteName: "group.com.simpleanlytics.app")

示例

SwiftUI 示例

在 SwiftUI 中,放置页面浏览量追踪代码的一个好地方是在你的视图的 .onAppear{} 修饰符中。

import SwiftUI
import SimpleAnalytics

struct ContentView: View {
    var body: some View {
        VStack {
            Image(systemName: "globe")
                .imageScale(.large)
                .foregroundStyle(.tint)
            Text("Hello, world!")
        }
        .padding()
        .onAppear {
            SimpleAnalytics.shared.track(path: ["example"])
        }
    }
}

UIKit 示例

当使用 UIKit 时,你可以将页面浏览量追踪放在 viewDidAppear()

import UIKit
import SimpleAnalytics

class ExampleViewController: UITableViewController {
    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        SimpleAnalytics.shared.track(path: ["example"])
    }
}