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(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)
參數 | 說明 | 參數限制 | 失敗結果 |
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共享,否則接口調用失敗。 | 不涉及 |