TPTStapeSDK 1.0.3

TPTStapeSDK 1.0.3

Tran Phuoc Thang 维护。



  • TPTStape

Stape sGTM iOS SDK

概述

Stape sGTM SDK 实现了两个主要功能部分。

第一是简单的发送事件,它允许用户组合一个事件并发送到 Stape 数据客户端。

SDK API 提供了来自数据客户端的响应,并将其映射到一个包含序列化响应字段的简单模型。

第二是一个跟踪机制,它跟踪 Firebase 事件 SDK 发送的事件。

它挂钩 Firebase 事件调度并将 Firebase 事件映射到 Stape 数据客户端。

然后,它将其作为普通事件发送。

用法

安装

Cocoapods

要使用 Cocoapods 安装 StapeSDK,只需将此行添加到您的 Podfile:pod 'StapeSDK' 并运行 pod install

SPM

目前,SPM 不支持混合 Objective-C/Swift 代码的包。

一旦 SPM 包含此功能,我们将添加 SPM 支持。

功能已在审查中,您可以在以下位置跟踪进度:https://forums.swift.org/t/se-0403-package-manager-mixed-language-target-support/66202

连接

要使用 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() 方法。

有一个处理程序 API 来获取发送到 Stape 数据客户端的 Firebase 事件的响应。

它由一对方方法组成,用于添加和删除由键标识的处理程序闭包。

public static func addFBEventHandler(_ handler: @escaping Completion, forKey key: String)
public static func removeFBEventHandler(forKey key: String)

日志记录

Stape SDK 使用 Apple os.log 功能记录其操作。

您可以使用 com.stape.logger 子系统来过滤 Stape SDK 日志。

有关 Apple 结构化日志记录的更多信息,请参阅官方文档:https://developer.apple.com/documentation/os/logging`

反馈

请通过开启问题来告诉我们您的想法或哪些想要改进的地方。