全部產品
Search
文件中心

Application Real-Time Monitoring Service:SDK配置參考

更新時間:Nov 26, 2025

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共用,否則介面調用失敗。

不涉及