StapeSDK 1.0.0

StapeSDK 1.0.0

Deszip 维护。



StapeSDK 1.0.0

  • Stape

StapeSDK

Stape SDK 是 Stape API 的事件驱动客户端。它允许从您的移动应用程序跟踪和向 Stape 后端发送事件。

概述

SDK 实现了两个主要功能部分。第一是简单的发送事件,它允许您创建一个事件并将其发送到后端。SDK API 为来自后端的对简单模型的映射提供了一个响应,该模型包含序列化的响应字段。第二是一个跟踪机制,它跟踪 Firebase 事件 SDK 发射的事件。它挂钩 Firebase 事件发射并将 Firebase 事件映射到 Stape 事件。然后,它将其作为普通事件发送。

用法

安装

连接

要使用 Stape SDK,您需要导入它

import StapeSDK

然后通过提供凭据和连接设置来启动它。首先创建一个 Stape.Configuration 实例并将其传递给 Stape.start() 方法

if let url = URL(string: "https://yourdomain.com") {
    let c = Stape.Configuration(domain: url)
    Stape.start(configuration: c)
}

之后,SDK 即可使用。

发送事件

要发送一个事件,您必须创建一个 Stape.Event 实例

let e = Stape.Event(name: "foo", payload: ["bar": "baz"])

并将其通过传递给 Stape.send() 方法发送

Stape.send(event: e) { result in
    switch result {
        case .success(let response): print("Event sent: \(response)")
        case .failure(let error): print("Failed to send event: \(error)")
    }
}

Stape.send() 方法提供了一个回调,在事件收到响应并被传递一个结果后调用。如果事件成功发送,则结果包含 Stape.EventResponse 实例。响应提供了具有从后端获取的序列化键/值对的 payload 属性。

Stape.Event 结构提供了一系列预定义键以方便使用。键在 Stape.Event.Keys 枚举中列出

public enum Key: String {
    case clientID       = "client_id"
    case idfa           = "idfa"
    case currency       = "currency"
    case ipOverride     = "ip_override"
    case language       = "language"
    case pageEncoding   = "page_encoding"
    case pageHostname   = "page_hostname"
    case pageLocation   = "page_location"
    case pagePath       = "page_path"
}

并且可以用来按如下方式创建事件

let e = Stape.Event(name: "foo", payload: [
    .clientID: "bar",
    .language: "foo"
])

Firebase 钩子

要开始监听 Firebase 事件,需要在调用 Stape.start() 之后调用 Stape.startFBTracking() 方法。目前没有获取那些事件响应的方法。

日志记录

Stape SDK 使用 Apple os.log 功能来记录其操作。您可以使用 com.stape.logger 子系统来过滤 Stape SDK 日志。有关 Apple 结构化日志的更多信息,请参阅官方文档:[https://developer.apple.com/documentation/os/console](https://developer.apple.com/documentation/os/console)。

反馈

请通过提交问题告知我们您的意见或建议哪些方面需要改进。