iot-library-iOS
安装
使用 'pods' 将库添加到您的项目中
pod 'IotLibrary'
在您的 'AppDelegate' 中导入
import IotLibrary
仅使用 token 进行设置
IotTracker.shared.set(configuration: "YourApiKey")
仅使用配置进行设置
let configuarion = Configuration()
configuarion.token = "YourApiKey"
configuarion.minBatchSize = 5
configuarion.loggingEnabled = true
configuarion.debouncingIntervalInMinutes = 15
IotTracker.shared.set(configuration: configuarion)
配置
-
token
- 这是项目的 API_KEY
- 如果没有设置 token,将抛出一个异常:NoToken("您需要先设置 token")
-
minBatchSize
- 默认情况下,事件将以每批10个的方式发送。
- 如果您将minBatchSize设置为1,则每当事件被跟踪时就会将其发送到服务器。
-
loggingEnabled
- 默认情况下日志是被禁用的。
- 如果您启用它,可以使用IoT_Zynk_Software标签来检查事件是否被正确发送。
-
debouncingIntervalIn Minutes
- 默认和最小值为15分钟。
使用说明
跟踪指标
IotTracker.shared.trackMetric(name: "name", tag: "tag", value: value)
跟踪日志
IotTracker.shared.trackLog(logStream: "logStream", message: "message", value: value)
上传机制
一次性上传
每次存储新事件时,都会执行以下检查:如果事件的数量大于或等于'minBatchSize',将尝试上传所有事件。如果尝试失败,例如由于网络问题,则不会重试,并且事件将保留在存储中。如果您将'minBatchSize'设置为1,则每次生成新事件时都会执行上传尝试。
周期性上传
每15分钟,背景中会运行一个任务,无论应用是否在前台启动。每次任务运行时,都会尝试上传存储的所有事件。如果 fails,例如由于网络问题,它将在稍后重试。它不允许延迟更短。但是,您可以配置更长的延迟,通过将值“15”以上的数值设置到变量“debouncingIntervalInMinutes”。任何低于15的值将被忽略,15分钟的延迟将保持不变。