文档

iOS SDK配置参考

更新时间:

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

应用环境的枚举值。需要在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(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共享,否则接口调用失败。

不涉及