SDK配置参考

ARMS用户体验监控提供一系列SDK配置项,让您能够通过设置参数来满足额外需求。本文介绍iOS应用常用的SDK配置。

启动配置

设置 Endpoint 地址

每个应用都需要关联对应的Endpoint地址,该接口需要在调用start:前设置。

@objc
public static func setEndpoint(_ endpoint: String)

参数

说明

参数限制

失败结果

endpoint

Endpoint 地址

字符串长度大于0且小于2083

接口调用失败,SDK停止

设置 Workspace 地址

每个应用都需要关联对应的Worksapce,该接口需要在调用start:前设置。

@objc
public static func setWorkspace(_ workspace: String)

参数

说明

参数限制

失败结果

workspace

Workspace 地址

字符串长度大于0且小于2083

接口调用失败,SDK停止

启动接口

您需要调用start: 方法初始化 SDK。

@objc(start:)
public static func start(_ serviceId: String)

参数

说明

参数限制

失败结果

serviceId

ServiceId

由用户体验监控平台生成的应用唯一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

应用环境的枚举值。需要在setConfigAddress方法之后、start方法之前调用。

Env枚举值:

  • LOCAL:本地

  • DAILY:日常

  • PRE:预发

  • GRAY:灰度

  • PROD(默认):线上

  • NONE:无

接口调用失败,当次设置无效。

自定义信息

自定义用户名称

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(setExtraInfo:)
public static func setExtraInfo(_ extraInfo: [String: AnyObject])

@objc(addExtraInfo:)
public static func addExtraInfo(_ extraInfo: [String: AnyObject])

参数

说明

参数限制

失败结果

extraInfo

属性信息

Map可为空或空集。转JSON后长度在7000字符以内,否则接口调用失败。

接口调用失败,当次设置无效。

说明

调用 setExtraInfo 方法时会清空历史设置的属性信息。如您需要追加新的属性信息,建议您通过 addExtraInfo 方法。

自定义异常

调用自定义异常接口,并传入相应的参数,可完成自定义异常数据的统计功能。

@objc(setCustomException:causeBy:errorDump:)
public static func setCustomException(_ exceptionType: String, _ causeBy: String, _ errorDump: String)

参数

说明

参数限制

失败结果

exceptionType

异常类型(必要)

字符串长度大于0且小于等于256。

接口调用失败,当次设置无效。

causeBy

异常原因

字符串可为null或空串。

字符串小于等于512,超长会截取。

不涉及

errorDump

异常信息

字符串可为null或空串。

字符串小于等于10000,超长会截取。

不涉及

自定义事件

SDK支持上报自定义事件。调用相应的接口,并传入相应的参数,可完成自定义事件数据的统计功能。

@objc(setCustomEvent:)
public static func setCustomEvent(_ name: String)

参数

说明

参数限制

失败结果

name

事件名称(必要)

字符串长度大于0且小于等于256

接口调用失败,当次设置无效

@objc(setCustomEvent:group:)
public static func setCustomEvent(_ name: String, group: String? = nil)

参数

说明

参数限制

失败结果

name

事件名称(必要)

字符串长度大于0且小于等于256

接口调用失败,当次设置无效

group

事件分组

字符串可为nil空串

字符串小于等于256,超长会截取。

不涉及

@objc(setCustomEvent:group:snapshots:)
public static func setCustomEvent(_ name: String, group: String? = nil, snapshots: String? = nil)

参数

说明

参数限制

失败结果

name

事件名称(必要)

字符串长度大于0且小于等于256

接口调用失败,当次设置无效

group

事件分组

字符串可为nil空串

字符串小于等于256,超长会截取。

不涉及

snapshots

事件快照

字符串可为nil空串

字符串小于等于7000,超长会截取。

不涉及

@objc(setCustomEvent:group:value:)
public static func setCustomEvent(_ name: String, group: String? = nil, value: Double = 0)

参数

说明

参数限制

失败结果

name

事件名称(必要)

字符串长度大于0且小于等于256

接口调用失败,当次设置无效

group

事件分组

字符串可为nil空串

字符串小于等于256,超长会截取。

不涉及

value

事件值

double类型

不涉及

@objc(setCustomEvent:group:info:)
public static func setCustomEvent(_ name: String, group: String? = nil, info: [String: String]? = nil)

参数

说明

参数限制

失败结果

name

事件名称(必要)

字符串长度大于0且小于等于256

接口调用失败,当次设置无效

group

事件分组

字符串可为nil空串

字符串小于等于256,超长会截取。

不涉及

info

事件附加信息

Map可为空或空集。转JSON后长度在7000字符以内,否则接口调用失败。

不涉及

@objc(setCustomEvent:group:snapshots:value:)
public static func setCustomEvent(_ name: String, group: String? = nil, snapshots: String? = nil, value: Double = 0) 

参数

说明

参数限制

失败结果

name

事件名称(必要)

字符串长度大于0且小于等于256。

接口调用失败,当次设置无效

group

事件分组

字符串可为nil空串

字符串小于等于256,超长会截取。

不涉及

snapshots

事件快照

字符串可为nil空串

字符串小于等于7000,超长会截取。

不涉及

value

事件值

double类型。

不涉及

@objc(setCustomEvent:group:snapshots:info:)
public static func setCustomEvent(_ name: String, group: String? = nil, snapshots: String? = nil, info: [String: String]? = nil)

参数

说明

参数限制

失败结果

name

事件名称(必要)

字符串长度大于0且小于等于256

接口调用失败,当次设置无效

group

事件分组

字符串可为nil空串

字符串小于等于256,超长会截取。

不涉及

snapshots

事件快照

字符串可为nil空串

字符串小于等于7000,超长会截取。

不涉及

info

事件附加信息

Map可为空或空集。转JSON后长度在7000字符以内,否则接口调用失败。

不涉及

@objc(setCustomEvent:group:value:info:)
public static func setCustomEvent(_ name: String, group: String? = nil, value: Double = 0, info: [String: String]? = nil) 

参数

说明

参数限制

失败结果

name

事件名称(必要)

字符串长度大于0且小于等于256

接口调用失败,当次设置无效

group

事件分组

字符串可为nil空串

字符串小于等于256,超长会截取。

不涉及

value

事件值

double类型

不涉及

info

事件附加信息

Map可为空或空集。转JSON后长度在7000字符以内,否则接口调用失败。

不涉及

@objc(setCustomEvent:group:snapshots:value:info:)
public static func setCustomEvent(_ name: String, group: String? = nil, snapshots: String? = nil, value: Double = 0, info: [String: String]? = nil)

参数

说明

参数限制

失败结果

name

事件名称(必要)

字符串长度大于0且小于等于256

接口调用失败,当次设置无效

group

事件分组

字符串可为nil空串

字符串小于等于256,超长会截取。

不涉及

snapshots

事件快照

字符串可为nil空串

字符串小于等于7000,超长会截取。

不涉及

value

事件值

double类型

不涉及

info

事件附加信息

Map可为空或空集。转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共享,否则接口调用失败。

不涉及