NowAnalyticsSDK 인터페이스 - Android

  • 릴리스 버전: Washingtondc
  • 업데이트 날짜 2024년 02월 01일
  • 읽기14분
  • NowAnalyticsSDK 인터페이스는 사용자 분석 데이터 컬렉션을 관리하기 위한 분석 속성, 사용자 설정 및 이벤트를 구성할 수 있는 함수를 제공합니다.

    표 1. 속성
    이름 유형 설명
    구성 NowService구성 서비스와 연결할 구성입니다.

    NowAnalyticsSDK - addEvent(eventName: String)

    사용자가 특정 레벨 또는 화면에 도달하는 등의 애플리케이션 이벤트를 추가합니다. 이러한 이벤트는 발생한 순서대로 대시보드에 표시됩니다.

    표 2. 매개변수
    이름 유형 설명
    명명된 eventName 문자열 추가할 이벤트의 이름입니다.
    표 3. 반환
    유형 설명
    없음

    다음 코드 예제에서는 이 함수를 호출하여 응용 프로그램 이벤트를 추가하는 방법을 보여 줍니다.

    // Add event
    NowAnalyticsSDK.getAnalyticsService().addEvent("Successful Login")

    NowAnalyticsSDK - addEvent(eventName: String, props: MutableMap<String, Any>)

    특정 레벨 또는 화면에 도달하는 사용자와 같은 애플리케이션 이벤트를 추가하고 이벤트에 대한 사용자 지정 속성 설정을 활성화합니다. 이러한 이벤트는 발생한 순서대로 대시보드에 표시됩니다.

    표 4. 매개변수
    이름 유형 설명
    eventName 문자열 추가할 이벤트의 이름입니다.
    props 뮤터블맵 이벤트에 대한 사용자 지정 속성 키-값 쌍입니다.

    이벤트 이름, 속성 키 및 값의 총 크기는 속성당 300바이트를 초과할 수 없습니다. 이 제한을 초과하는 속성은 무시됩니다. 속성 키에는 점('.') 또는 달러('$') 기호가 포함될 수 없으며, 포함된 경우 잘립니다. 문자열은 UTF-8로 인코딩됩니다.

    지원되는 값 유형:
    • 정수
    • 두 번
    • 부동
    • 문자열
    • URL
    • 부울
    • 날짜
    표 5. 반환
    유형 설명
    없음

    다음 코드 예제에서는 이 함수를 호출하여 이벤트에 대한 사용자 지정 속성을 포함하는 응용 프로그램 이벤트를 추가하는 방법을 보여 줍니다.

    // 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)

    사용자 지정 동작을 추가합니다. 이러한 작업은 사용자 대시보드에 세션 데이터의 일부로 나타나며 애플리케이션의 화면 변경을 설명합니다.

    표 6. 매개변수
    이름 유형 설명
    actionName 문자열 화면에 추가할 작업의 이름(예: MyButtonClick)입니다.
    표 7. 반환
    유형 설명
    없음

    다음 코드 예제에서는 이 함수를 호출하여 현재 화면에 사용자 지정 작업을 추가하는 방법을 보여 줍니다.

    // Add a custom action to the current screen
    NowAnalyticsSDK.getAnalyticsService().addScreenAction("MyButtonClick")

    NowAnalyticsSDK - appendToUserProperty(propertyName: String, item: String)

    지정된 항목을 지정된 사용자 속성 목록에 추가합니다.

    표 8. 매개변수
    이름 유형 설명
    propertyName(속성 이름) 문자열 목록 항목을 추가할 사용자 속성의 이름입니다.
    항목 문자열 속성에 추가할 목록 항목입니다.
    표 9. 반환
    유형 설명
    없음

    다음 코드 예제에서는 이 함수를 호출하여 지정된 목록에 대/소문자를 추가하는 방법을 보여 줍니다.

    // Append handled case to list
    NowAnalyticsSDK.getAnalyticsService().appendToUserProperty("Case Identifiers", "TASK-1")

    NowAnalyticsSDK - configure(instanceURL: URL, configureCallbacks: ConfigureCallbacks?)

    지정된 ServiceNow 인스턴스 URL을 구성하고 NowAnalytics에 콜백합니다.

    이 메서드가 호출되면 연결된 ServiceNow 인스턴스에서 실제 구성을 가져와 자동으로 동기화합니다.

    표 10. 매개변수
    이름 유형 설명
    인스턴스URL URL ServiceNow NowAnalyticfs 서비스와 연결할 인스턴스의 URL입니다.
    configureCallbacks 콜백 구성 옵션입니다. 인스턴스와 통신하는 동안 오류가 발생할 때마다 실행하는 콜백입니다 ServiceNow . 이 콜백은 언제든지 호출할 수 있으며 여러 가지 이유로 여러 번 호출될 수 있습니다.
    표 11. 반환
    유형 설명
    없음

    다음 코드 예제에서는 이 함수를 호출하여 지정된 인스턴스를 구성하는 방법을 보여 줍니다.

    // 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()

    현재 사용자에 대한 모든 로컬 및 원격 데이터를 삭제합니다.

    또한 이 메서드는 현재 활성 사용자를 설정 해제하고 향후 분석 추적에서 이 장치를 옵트아웃합니다.
    주:
    이 메서드는 SNAnalytics 서버에 대한 동기 호출을 수행합니다. 따라서 측면 스레드에서 이 작업을 수행하는 것이 좋습니다.
    표 12. 매개변수
    이름 유형 설명
    없음
    표 13. 반환
    유형 설명
    부울 삭제가 성공했는지 여부를 나타내는 플래그입니다.
    가능한 값:
    • true: 삭제에 성공했습니다.
    • false: 삭제에 실패했습니다. 연결이 없는 경우와 같이 SNAnalytics 서버에 연결할 수 없는 경우 오류가 발생할 수 있습니다. 메서드를 다시 시도해야 합니다.

    다음 코드 예제에서는 이 함수를 호출하여 현재 사용자의 데이터를 삭제하는 방법을 보여 줍니다.

    // Delete user data
    NowAnalyticsSDK.getAnalyticsService().deleteCurrentUserData()

    NowAnalyticsSDK - getTrackingConsent()

    분석 추적에 대한 현재 사용자의 동의 응답을 반환합니다.

    표 14. 매개변수
    이름 유형 설명
    없음
    표 15. 반환
    유형 설명
    부울 현재 사용자가 데이터 수집에 동의했는지 여부를 나타내는 플래그입니다.
    가능한 값:
    • true: 사용자가 데이터 수집에 동의했습니다.
    • false: 사용자가 데이터 수집을 옵트아웃했습니다.

    다음 코드 예제에서는 이 함수를 호출하여 분석 추적에 대한 현재 사용자의 동의 응답을 요청하는 방법을 보여 줍니다.

    // Get the current user tracking consent value
    val curUserConsent = NowAnalytics.sharedAnalyticsService.getTrackingConsent()

    NowAnalyticsSDK - incUserProperty(propertyName: String, value: Double)

    지정된 숫자 속성의 값을 지정된 값만큼 증가시키거나 감소시킵니다.

    표 16. 매개변수
    이름 유형 설명
    propertyName(속성 이름) 문자열 증가시킬 사용자 속성의 이름입니다.
    두 번 속성을 증가시키는 값입니다. 값이 감소하려면 음수 값을 입력합니다.
    표 17. 반환
    유형 설명
    없음

    다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.

    // 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 메서드를 호출할 수 있습니다.

    표 18. 매개변수
    이름 유형 설명
    Webview WKWeb뷰 연결할 {@link android.webkit.WebView}입니다.
    표 19. 반환
    유형 설명
    없음

    다음 코드 예제에서는 이 함수를 호출하여 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)

    현재 사용자에 대해 지정된 속성을 삭제합니다.

    표 20. 매개변수
    이름 유형 설명
    propertyName(속성 이름) 문자열 삭제할 사용자 속성의 이름입니다.
    표 21. 반환
    유형 설명
    없음

    다음 코드 예제에서는 이 함수를 호출하여 "Temp Cases" 속성을 제거하는 방법을 보여 줍니다.

    // Remove unnecessary property
    NowAnalyticsSDK.getAnalyticsService().removeUserProperty("Temp Cases")

    NowAnalyticsSDK - setListener(nowAnalyticsListener: NowAnalyticsListener?)

    세션 변경 및 자동 화면 검색과 같은 NowAnalytics의 이벤트에 대한 수신기를 설정합니다.

    주:
    이 메서드를 호출할 때마다 수신기가 재정의됩니다.
    표 22. 매개변수
    이름 유형 설명
    nowAnalytics수신기 NowAnalytics수신기 NowAnalytics가 세션 이벤트에 대해 알리는 인터페이스입니다.
    • onNowAnalyticsScreenDetected: NowAnalytics가 화면을 자동으로 감지할 때 호출됩니다.
    • onNowAnalyticsSessionEnded: 세션이 종료된 후에 호출됩니다.
    • onNowAnalyticsSessionEnding: 세션이 끝나기 직전에 호출되므로 세션이 종료되지 않도록 할 수 있습니다.
    • onNowAnalyticsSessionStarted: 세션이 시작될 때 호출됩니다.
    • onNowAnalyticsSessionStarting: 세션이 시작되기 직전에 호출되므로 세션이 시작되지 않도록 할 수 있습니다.
    표 23. 반환
    유형 설명
    없음

    다음 코드 예제에서는 이 함수를 호출하여 NowAnalyticsListener()를 설정하는 방법을 보여 줍니다.

    // From anywhere in the code you can register the delegate
    NowAnalyticsSDK.getAnalyticsService().setListener(NowAnalyticsListener())

    NowAnalyticsSDK - setTrackingConsent(consentGiven: 부울)

    분석 추적에 대한 현재 사용자의 동의 응답을 설정합니다.

    표 24. 매개변수
    이름 유형 설명
    동의주어짐 부울 분석 추적에 대한 현재 사용자의 동의를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 사용자가 자신의 데이터 추적에 동의했습니다.
    • false: 사용자가 데이터 추적을 옵트아웃했습니다.
    표 25. 반환
    유형 설명
    없음

    다음 코드 예제에서는 이 함수를 호출하여 분석 추적에 대한 현재 사용자의 동의 응답을 설정하는 방법을 보여 줍니다.

    // Enable tracking consent
    NowAnalyticsSDK.getAnalyticsService().setTrackingConsent(true)

    NowAnalyticsSDK - setUserId(userId: String)

    응용 프로그램별 사용자 식별자를 설정합니다. 현재 사용자를 로그아웃하려면 nil을 전달합니다.

    표 26. 매개변수
    이름 유형 설명
    userID 문자열 고유한 애플리케이션별 사용자 식별자입니다. 이 식별자는 대시보드에서 해당 사용자에 대한 보고서를 집계하는 데 사용됩니다.
    표 27. 반환
    유형 설명
    없음

    다음 코드 예제에서는 이 함수를 호출하여 애플리케이션별 사용자 식별자를 "John Doe"로 설정하는 방법을 보여 줍니다.

    // Set User Id for proper identification
    NowAnalyticsSDK.getAnalyticsService().setUserId("John Doe")

    NowAnalyticsSDK - setUserProperties(userProperties: MutableMap<String, Any>)

    현재 사용자에 대해 지정된 값으로 여러 속성을 설정합니다. 속성은 사용자에 대해 대시보드에서 추적하려는 모든 것이 될 수 있습니다.

    현재 사용자를 설정하려면 함수를 호출합니다 NowAnalyticsSDK - setUserId(userId: String) .

    표 28. 매개변수
    이름 유형 설명
    userProperties 뮤터블맵 설정할 사용자 속성의 키-값 쌍입니다.
    지원되는 값 유형:
    • 번호
    • 문자열
    • 날짜
    • URL
    • Null
    표 29. 반환
    유형 설명
    없음

    다음 코드 예제에서는 이 함수를 호출하여 현재 사용자에 대한 여러 속성을 설정하는 방법을 보여 줍니다.

    // 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) .

    표 30. 매개변수
    이름 유형 설명
    propertyName(속성 이름) 문자열 설정할 사용자 속성의 이름입니다.
    임의 사용자 속성을 설정할 값입니다.
    지원되는 값 유형:
    • 번호
    • 문자열
    • 날짜
    • URL
    • Null
    표 31. 반환
    유형 설명
    없음

    다음 코드 예제에서는 이 함수를 호출하여 현재 사용자에 대해 "Role" 속성을 "Admin"으로 설정하는 방법을 보여 줍니다.

    // Set the "Role" property of the user to "Admin"
    NowAnalyticsSDK.getAnalyticsService().setUserProperty("Role", "Admin")

    NowAnalyticsSDK - startScreen(screenName: String)

    연결된 화면이 UI에 처음 나타나는 시간을 기록합니다.

    일반적으로 활동의 onResume() 메서드에서 이 메서드를 호출합니다.

    표 32. 매개변수
    이름 유형 설명
    명명된 screenName 문자열 시작 시간을 기록할 화면의 이름(예: WelcomeScreen)입니다. 이는 화면으로 정의하고 분석 대시보드에 표시/집계하려는 모든 것이 될 수 있습니다.
    표 33. 반환
    유형 설명
    없음

    다음 코드 예제에서는 이 함수를 호출하여 "WelcomeScreen" 표시 시작 시간을 설정하는 방법을 보여 줍니다.

    // Mark the appearance starting time of a screen
    // This method should be usually called from the onResume() method
    NowAnalyticsSDK.getAnalyticsService().startScreen("WelcomeScreen")