ARMS用户体验监控提供一系列SDK配置项,让您能够通过设置参数来满足额外需求。本文介绍iOS应用常用的SDK配置。
启动配置
设置Config地址
每个应用都需要关联对应的Config地址,setConfigAddress
接口需要在调用startWithAppID
前设置。
@objc
public static func setConfigAddress(_ configAddress: String)
参数 | 说明 | 参数限制 | 失败结果 |
configAddress | Config地址 | 字符串长度大于0且小于2083。 | 接口调用失败,SDK停止。 |
启动接口
@objc(startWithAppID:)
public static func start(_ appID: String)
参数 | 说明 | 参数限制 | 失败结果 |
appID | 应用AppID | 由用户体验监控平台生成的应用唯一ID。 | 接口调用失败,SDK停止。 |
设置自定义设备ID
可以通过此方法设置自定义设备ID,设置成功后,SDK将不再使用默认获取的设备ID。
@objc
public static func setDeviceID(_ deviceID: String)
参数 | 说明 | 参数限制 | 失败结果 |
deviceID | 自定义的设备ID | 字符串长度大于0且小于256,且不包含特殊字符,仅支持字母、数字、英文半角冒号(:)、空格、下划线_、英文半角连接号(-)、英文半角句号(.)和@。 | 接口调用失败,当次设置无效。 |
设置自定义App版本号
通过此方法设置了自定义App版本号,那么SDK将会上报此版本号,不再使用默认获取的版本号。
@objc
public static func setAppVersion(_ appVersion: String)
参数 | 说明 | 参数限制 | 失败结果 |
appVersion | 自定义的App版本号 | 字符串长度大于0且小于64。 | 接口调用失败,当次设置无效。 |
设置用户渠道ID
区分应用发布的渠道。
@objc
public static func setChannelID(_ channelID: String)
参数 | 说明 | 参数限制 | 失败结果 |
channelID | 自定义的渠道号 | 字符串长度大于0且小于256。 | 接口调用失败,当次设置无效。 |
设置应用环境
区分应用的环境。通过此方法可以指定应用的环境,如LOCAL、DAILY、PROD等。
@objc
public static func setEnvironment(_ env: Env)
参数 | 说明 | 参数限制 | 失败结果 |
env | 应用环境的枚举值。需要在 | Env枚举值:
| 接口调用失败,当次设置无效。 |
自定义信息
自定义用户名称
SDK支持设置与用户相关的信息,从而完成与实际用户相关联的数据分析需求场景。
@objc
public static func setUserName(_ userID: String)
参数 | 说明 | 参数限制 | 失败结果 |
userID | 用户名称标识 | 字符串可为null或空串。 字符串小于等于256,且不包含特殊字符,只允许数字、字母、英文半角冒号(:)、空格、正斜线(/)、下划线(_)、英文半角连接号(-)、英文半角句号(.)和@。 | 接口调用失败,当次设置无效。 |
自定义用户扩展信息
SDK支持设置与用户相关的信息,从而完成数据分析与实际用户相关联的需求场景。
@objc(setUserExtraInfo:)
public static func setUserExtraInfo(_ extraInfo: [String: AnyObject])
参数 | 说明 | 参数限制 | 失败结果 |
extraInfo | 用户扩展信息 | Map可为空或空集。 转JSON后长度在7000字符以内,否则接口调用失败。 | 接口调用失败,当次设置无效。 |
自定义异常
调用自定义异常接口,并传入相应的参数,可完成自定义异常数据的统计功能。
@objc(setCustomException:causeBy:errorDump:)
public static func setCustomException(_ exceptionType: String, _ causeBy: String, _ errorDump: String)
参数 | 说明 | 参数限制 | 失败结果 |
type | 异常类型(必要) | 字符串长度大于0且小于等于256。 | 接口调用失败,当次设置无效。 |
causeBy | 异常原因 | 字符串可为null或空串。 字符串小于等于512,超长会截取。 | 不涉及 |
errorDump | 异常信息 | 字符串可为null或空串。 字符串小于等于10000,超长会截取。 | 不涉及 |
自定义事件
SDK支持上报自定义事件。调用相应的接口,并传入相应的参数,可完成自定义事件数据的统计功能。
@objc(setCustomEvent:name:)
public static func setCustomEvent(_ eventID: String, _ name: String)
参数 | 说明 | 参数限制 | 失败结果 |
eventId | 事件ID(必要) | 字符串长度大于0且小于等于256。 | 接口调用失败,当次设置无效。 |
eventName | 事件名称 | 字符串可为null或空串。 字符串小于等于512,超长会截取。 | 不涉及 |
@objc(setCustomEvent:name:)
public static func setCustomEvent(_ eventID: String, _ name: String)
参数 | 说明 | 参数限制 | 失败结果 |
eventId | 事件ID(必要) | 字符串长度大于0且小于等于256。 | 接口调用失败,当次设置无效。 |
eventName | 事件名称 | 字符串可为null或空串。 字符串小于等于256,超长会截取。 | 不涉及 |
label | 事件标签 | 字符串可为null或空串。 字符串小于等于256,超长会截取。 | 不涉及 |
@objc(setCustomEvent:name:label:param:)
public static func setCustomEvent(_ eventID: String, _ name: String, _ label: String? = nil, _ param: String? = nil)
参数 | 说明 | 参数限制 | 失败结果 |
eventId | 事件ID(必要) | 字符串长度大于0且小于等于256。 | 接口调用失败,当次设置无效。 |
eventName | 事件名称 | 字符串可为null或空串。 字符串小于等于256,超长会截取。 | 不涉及 |
label | 事件标签 | 字符串可为null或空串。 字符串小于等于256,超长会截取。 | 不涉及 |
param | 附加信息(预留字段,暂无使用场景) | 字符串可为null或空串。 字符串小于等于7000,超长会截取。 | 不涉及 |
@objc(setCustomEvent:name:label:param:)
public static func setCustomEvent(_ eventID: String, _ name: String, _ label: String? = nil, _ param: String? = nil)
参数 | 说明 | 参数限制 | 失败结果 |
eventId | 事件ID(必要) | 字符串长度大于0且小于等于256。 | 接口调用失败,当次设置无效。 |
eventName | 事件名称 | 字符串可为null或空串。 字符串小于等于256,超长会截取。 | 不涉及 |
label | 事件标签 | 字符串可为null或空串。 字符串小于等于256,超长会截取。 | 不涉及 |
param | 附加信息(预留字段,暂无使用场景) | 字符串可为null或空串。 字符串小于等于7000,超长会截取。 | 不涉及 |
info | 附加字典信息 | 字典可为空。 转JSON后长度在7000字符以内。 | 接口调用失败,当次设置无效。 |
自定义日志
SDK支持上报自定义日志信息。调用相应的接口,并传入相应的参数,可完成自定义日志数据的统计功能。
@objc(setCustomLog:)
public static func setCustomLog(_ logInfo: String)
参数 | 说明 | 参数限制 | 失败结果 |
logInfo | 日志信息(必要) | 字符串长度大于0且小于等于10000,超长会被截取。 | 接口调用失败,当次设置无效。 |
@objc(setCustomLog:name:)
public static func setCustomLog(_ logInfo: String, name: String? = nil)
参数 | 说明 | 参数限制 | 失败结果 |
logInfo | 日志信息(必要) | 字符串长度大于0且小于等于10000,超长会被截取。 | 接口调用失败,当次设置无效。 |
name | 日志名称 | 字符串长度大于0且小于等于256。 | 不涉及 |
@objc(setCustomLog:name:snapshots:)
public static func setCustomLog(_ logInfo: String, name: String? = nil, snapshots: String? = "")
参数 | 说明 | 参数限制 | 失败结果 |
logInfo | 日志信息(必要) | 字符串长度大于0且小于等于10000,超长会被截取。 | 接口调用失败,当次设置无效。 |
name | 日志名称 | 字符串长度大于0且小于等于256。 | 不涉及 |
snapshots | 日志快照 | 字符串可为null或空串。 字符串小于等于7000,超长会截取。 | 不涉及 |
@objc(setCustomLog:name:snapshots:level:info:)
public static func setCustomLog(_ logInfo: String, name: String? = nil, snapshots: String? = "", level: String? = "INFO", info: [String: String]? = nil)
参数 | 说明 | 参数限制 | 失败结果 |
logInfo | 日志信息(必要) | 字符串长度大于0且小于等于10000,超长会被截取。 | 接口调用失败,当次设置无效。 |
name | 日志名称 | 字符串长度大于0且小于等于256。 | 不涉及 |
snapshots | 日志快照 | 字符串可为null或空串。 字符串小于等于7000,超长会截取。 | 不涉及 |
level | 日志等级 | 字符串长度大于0且小于等于256,默认为INFO。 | 不涉及 |
info | 日志附加信息 | Map可为空或空集。 转JSON后,字符串长度与logInfo共享,否则接口调用失败。 | 不涉及 |