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 | 應用環境的枚舉值。需要在 | 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)參數 | 說明 | 參數限制 | 失敗結果 |
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 | 事件分組 | 字串可為 字串小於等於256,超長會截取。 | 不涉及 |
@objc(setCustomEvent:group:snapshots:)
public static func setCustomEvent(_ name: String, group: String? = nil, snapshots: String? = nil)參數 | 說明 | 參數限制 | 失敗結果 |
name | 事件名稱(必要) | 字串長度大於0且小於等於256 | 介面調用失敗,當次設定無效 |
group | 事件分組 | 字串可為 字串小於等於256,超長會截取。 | 不涉及 |
snapshots | 事件快照 | 字串可為 字串小於等於7000,超長會截取。 | 不涉及 |
@objc(setCustomEvent:group:value:)
public static func setCustomEvent(_ name: String, group: String? = nil, value: Double = 0)參數 | 說明 | 參數限制 | 失敗結果 |
name | 事件名稱(必要) | 字串長度大於0且小於等於256 | 介面調用失敗,當次設定無效 |
group | 事件分組 | 字串可為 字串小於等於256,超長會截取。 | 不涉及 |
value | 事件值 | double類型 | 不涉及 |
@objc(setCustomEvent:group:info:)
public static func setCustomEvent(_ name: String, group: String? = nil, info: [String: String]? = nil)參數 | 說明 | 參數限制 | 失敗結果 |
name | 事件名稱(必要) | 字串長度大於0且小於等於256 | 介面調用失敗,當次設定無效 |
group | 事件分組 | 字串可為 字串小於等於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 | 事件分組 | 字串可為 字串小於等於256,超長會截取。 | 不涉及 |
snapshots | 事件快照 | 字串可為 字串小於等於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 | 事件分組 | 字串可為 字串小於等於256,超長會截取。 | 不涉及 |
snapshots | 事件快照 | 字串可為 字串小於等於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 | 事件分組 | 字串可為 字串小於等於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 | 事件分組 | 字串可為 字串小於等於256,超長會截取。 | 不涉及 |
snapshots | 事件快照 | 字串可為 字串小於等於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共用,否則介面調用失敗。 | 不涉及 |