NowAnalyticsSDK 인터페이스 - Android
NowAnalyticsSDK 인터페이스는 사용자 분석 데이터 컬렉션을 관리하기 위한 분석 속성, 사용자 설정 및 이벤트를 구성할 수 있는 함수를 제공합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 구성 | NowService구성 | 서비스와 연결할 구성입니다. |
NowAnalyticsSDK - addEvent(eventName: String)
사용자가 특정 레벨 또는 화면에 도달하는 등의 애플리케이션 이벤트를 추가합니다. 이러한 이벤트는 발생한 순서대로 대시보드에 표시됩니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 명명된 eventName | 문자열 | 추가할 이벤트의 이름입니다. |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 코드 예제에서는 이 함수를 호출하여 응용 프로그램 이벤트를 추가하는 방법을 보여 줍니다.
// Add event
NowAnalyticsSDK.getAnalyticsService().addEvent("Successful Login")
NowAnalyticsSDK - addEvent(eventName: String, props: MutableMap<String, Any>)
특정 레벨 또는 화면에 도달하는 사용자와 같은 애플리케이션 이벤트를 추가하고 이벤트에 대한 사용자 지정 속성 설정을 활성화합니다. 이러한 이벤트는 발생한 순서대로 대시보드에 표시됩니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| eventName | 문자열 | 추가할 이벤트의 이름입니다. |
| props | 뮤터블맵 | 이벤트에 대한 사용자 지정 속성 키-값 쌍입니다. 이벤트 이름, 속성 키 및 값의 총 크기는 속성당 300바이트를 초과할 수 없습니다. 이 제한을 초과하는 속성은 무시됩니다. 속성 키에는 점('.') 또는 달러('$') 기호가 포함될 수 없으며, 포함된 경우 잘립니다. 문자열은 UTF-8로 인코딩됩니다. 지원되는 값 유형:
|
| 유형 | 설명 |
|---|---|
| 없음 |
다음 코드 예제에서는 이 함수를 호출하여 이벤트에 대한 사용자 지정 속성을 포함하는 응용 프로그램 이벤트를 추가하는 방법을 보여 줍니다.
// Add event with properties
NowAnalyticsSDK.getAnalyticsService().addEvent("Open Case",
mutableMapOf(
"Screen Name" to "Case",
"Case Number" to 123,
"Case Priority" to 5
)
)
NowAnalyticsSDK - addScreenAction(actionName: String)
사용자 지정 동작을 추가합니다. 이러한 작업은 사용자 대시보드에 세션 데이터의 일부로 나타나며 애플리케이션의 화면 변경을 설명합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| actionName | 문자열 | 화면에 추가할 작업의 이름(예: MyButtonClick)입니다. |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 코드 예제에서는 이 함수를 호출하여 현재 화면에 사용자 지정 작업을 추가하는 방법을 보여 줍니다.
// Add a custom action to the current screen
NowAnalyticsSDK.getAnalyticsService().addScreenAction("MyButtonClick")
NowAnalyticsSDK - appendToUserProperty(propertyName: String, item: String)
지정된 항목을 지정된 사용자 속성 목록에 추가합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| propertyName(속성 이름) | 문자열 | 목록 항목을 추가할 사용자 속성의 이름입니다. |
| 항목 | 문자열 | 속성에 추가할 목록 항목입니다. |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 코드 예제에서는 이 함수를 호출하여 지정된 목록에 대/소문자를 추가하는 방법을 보여 줍니다.
// Append handled case to list
NowAnalyticsSDK.getAnalyticsService().appendToUserProperty("Case Identifiers", "TASK-1")
NowAnalyticsSDK - configure(instanceURL: URL, configureCallbacks: ConfigureCallbacks?)
지정된 ServiceNow 인스턴스 URL을 구성하고 NowAnalytics에 콜백합니다.
이 메서드가 호출되면 연결된 ServiceNow 인스턴스에서 실제 구성을 가져와 자동으로 동기화합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 인스턴스URL | URL | ServiceNow NowAnalyticfs 서비스와 연결할 인스턴스의 URL입니다. |
| configureCallbacks | 콜백 구성 | 옵션입니다. 인스턴스와 통신하는 동안 오류가 발생할 때마다 실행하는 콜백입니다 ServiceNow . 이 콜백은 언제든지 호출할 수 있으며 여러 가지 이유로 여러 번 호출될 수 있습니다. |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 코드 예제에서는 이 함수를 호출하여 지정된 인스턴스를 구성하는 방법을 보여 줍니다.
// Init NowAnalytics after NowSDK is initialized
NowAnalyticsSDK.getAnalyticsService().configure(URL("https://my.instance.service-now.com"),
// Optional - pass callback
object: ConfigureCallbacks {
override fun onFail(e: Exception) {
// configuration failed
}
override fun onSuccess() {
// configuration succeeded
}
}
)
NowAnalyticsSDK - deleteCurrentUserData()
현재 사용자에 대한 모든 로컬 및 원격 데이터를 삭제합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 부울 | 삭제가 성공했는지 여부를 나타내는 플래그입니다. 가능한 값:
|
다음 코드 예제에서는 이 함수를 호출하여 현재 사용자의 데이터를 삭제하는 방법을 보여 줍니다.
// Delete user data
NowAnalyticsSDK.getAnalyticsService().deleteCurrentUserData()
NowAnalyticsSDK - getTrackingConsent()
분석 추적에 대한 현재 사용자의 동의 응답을 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 부울 | 현재 사용자가 데이터 수집에 동의했는지 여부를 나타내는 플래그입니다. 가능한 값:
|
다음 코드 예제에서는 이 함수를 호출하여 분석 추적에 대한 현재 사용자의 동의 응답을 요청하는 방법을 보여 줍니다.
// Get the current user tracking consent value
val curUserConsent = NowAnalytics.sharedAnalyticsService.getTrackingConsent()
NowAnalyticsSDK - incUserProperty(propertyName: String, value: Double)
지정된 숫자 속성의 값을 지정된 값만큼 증가시키거나 감소시킵니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| propertyName(속성 이름) | 문자열 | 증가시킬 사용자 속성의 이름입니다. |
| 값 | 두 번 | 속성을 증가시키는 값입니다. 값이 감소하려면 음수 값을 입력합니다. |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.
// Increment numeric_property_name by one
NowAnalyticsSDK.getAnalyticsService().incUserProperty("numeric_property_name", 1.0)
// Decrement numeric_property_name by one
NowAnalyticsSDK.getAnalyticsService().incUserProperty("numeric_property_name", -1.0)
NowAnalyticsSDK - installJavascriptInterface(webView: WebView)
JavaScript를 사용하여 {@link android.webkit.WebView} 내에서 javaScript.SNMobileAnalytics 메서드를 호출할 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| Webview | WKWeb뷰 | 연결할 {@link android.webkit.WebView}입니다. |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 코드 예제에서는 이 함수를 호출하여 javaScript.SNMobileAnalytics 메서드를 호출할 수 있도록 하는 방법을 보여 줍니다.
// Register JS object inside the web page
// This creates an object called 'SNMobileAnalytics' on JS that has the following methods:
// SNMobileAnalytics.setUserId(userId)
// example: SNMobileAnalytics.setUserId("John Doe")
// SNMobileAnalytics.startScreen(screenName)
// example: SNMobileAnalytics.startScreen("WelcomeScreen")
// SNMobileAnalytics.addScreenAction(actionName)
// example: SNMobileAnalytics.addScreenAction("MyButtonClick")
// SNMobileAnalytics.addEvent(eventName, properties)
// example: SNMobileAnalytics.addEvent("Successful Login")
//
SNMobileAnalytics.addEvent("Successful Login", JSON.stringify({"Screen Name": "Case", "Case Number": "123", "Case Priority": 5}))
NowAnalyticsSDK.getAnalyticsService().installJavascriptInterface(webView)
NowAnalyticsSDK - removeUserProperty(propertyName: String)
현재 사용자에 대해 지정된 속성을 삭제합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| propertyName(속성 이름) | 문자열 | 삭제할 사용자 속성의 이름입니다. |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 코드 예제에서는 이 함수를 호출하여 "Temp Cases" 속성을 제거하는 방법을 보여 줍니다.
// Remove unnecessary property
NowAnalyticsSDK.getAnalyticsService().removeUserProperty("Temp Cases")
NowAnalyticsSDK - setListener(nowAnalyticsListener: NowAnalyticsListener?)
세션 변경 및 자동 화면 검색과 같은 NowAnalytics의 이벤트에 대한 수신기를 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| nowAnalytics수신기 | NowAnalytics수신기 | NowAnalytics가 세션 이벤트에 대해 알리는 인터페이스입니다.
|
| 유형 | 설명 |
|---|---|
| 없음 |
다음 코드 예제에서는 이 함수를 호출하여 NowAnalyticsListener()를 설정하는 방법을 보여 줍니다.
// From anywhere in the code you can register the delegate
NowAnalyticsSDK.getAnalyticsService().setListener(NowAnalyticsListener())
NowAnalyticsSDK - setTrackingConsent(consentGiven: 부울)
분석 추적에 대한 현재 사용자의 동의 응답을 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 동의주어짐 | 부울 | 분석 추적에 대한 현재 사용자의 동의를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
|
| 유형 | 설명 |
|---|---|
| 없음 |
다음 코드 예제에서는 이 함수를 호출하여 분석 추적에 대한 현재 사용자의 동의 응답을 설정하는 방법을 보여 줍니다.
// Enable tracking consent
NowAnalyticsSDK.getAnalyticsService().setTrackingConsent(true)
NowAnalyticsSDK - setUserId(userId: String)
응용 프로그램별 사용자 식별자를 설정합니다. 현재 사용자를 로그아웃하려면 nil을 전달합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| userID | 문자열 | 고유한 애플리케이션별 사용자 식별자입니다. 이 식별자는 대시보드에서 해당 사용자에 대한 보고서를 집계하는 데 사용됩니다. |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 코드 예제에서는 이 함수를 호출하여 애플리케이션별 사용자 식별자를 "John Doe"로 설정하는 방법을 보여 줍니다.
// Set User Id for proper identification
NowAnalyticsSDK.getAnalyticsService().setUserId("John Doe")
NowAnalyticsSDK - setUserProperties(userProperties: MutableMap<String, Any>)
현재 사용자에 대해 지정된 값으로 여러 속성을 설정합니다. 속성은 사용자에 대해 대시보드에서 추적하려는 모든 것이 될 수 있습니다.
현재 사용자를 설정하려면 함수를 호출합니다 NowAnalyticsSDK - setUserId(userId: String) .
| 이름 | 유형 | 설명 |
|---|---|---|
| userProperties | 뮤터블맵 | 설정할 사용자 속성의 키-값 쌍입니다. 지원되는 값 유형:
|
| 유형 | 설명 |
|---|---|
| 없음 |
다음 코드 예제에서는 이 함수를 호출하여 현재 사용자에 대한 여러 속성을 설정하는 방법을 보여 줍니다.
// Add several properties at once
NowAnalyticsSDK.getAnalyticsService().setUserProperties(
mutableMapOf(
"Cases Handled" to 100,
"Last Login" to Date(),
"Is Remote" to true,
"Profile URL" to URL("https://www.servicenow.com")
)
)
NowAnalyticsSDK - setUserProperty(propertyName: String, propertyValue: Any)
지정된 속성을 현재 사용자에 대해 지정된 값으로 설정합니다. 속성은 사용자에 대해 대시보드에서 추적하려는 모든 것이 될 수 있습니다.
현재 사용자를 설정하려면 함수를 호출합니다 NowAnalyticsSDK - setUserId(userId: String) .
| 이름 | 유형 | 설명 |
|---|---|---|
| propertyName(속성 이름) | 문자열 | 설정할 사용자 속성의 이름입니다. |
| 값 | 임의 | 사용자 속성을 설정할 값입니다. 지원되는 값 유형:
|
| 유형 | 설명 |
|---|---|
| 없음 |
다음 코드 예제에서는 이 함수를 호출하여 현재 사용자에 대해 "Role" 속성을 "Admin"으로 설정하는 방법을 보여 줍니다.
// Set the "Role" property of the user to "Admin"
NowAnalyticsSDK.getAnalyticsService().setUserProperty("Role", "Admin")
NowAnalyticsSDK - startScreen(screenName: String)
연결된 화면이 UI에 처음 나타나는 시간을 기록합니다.
일반적으로 활동의 onResume() 메서드에서 이 메서드를 호출합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 명명된 screenName | 문자열 | 시작 시간을 기록할 화면의 이름(예: WelcomeScreen)입니다. 이는 화면으로 정의하고 분석 대시보드에 표시/집계하려는 모든 것이 될 수 있습니다. |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 코드 예제에서는 이 함수를 호출하여 "WelcomeScreen" 표시 시작 시간을 설정하는 방법을 보여 줍니다.
// Mark the appearance starting time of a screen
// This method should be usually called from the onResume() method
NowAnalyticsSDK.getAnalyticsService().startScreen("WelcomeScreen")