NowWebService 클래스 - Android

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 4분
  • NowWebService API는 웹 뷰를 호스팅하는 NowWebActivity를 시작하는 함수를 제공합니다.

    표 1. 속성
    이름 유형 설명
    구성 NowServiceConfiguration 클래스 - Android 인스턴스 URL 및 패키지 이름과 같은 ServiceNow 관련 서비스에 대한 구성 정보입니다.

    NowWebService - launch(컨텍스트: 컨텍스트, URL: URL, nowWebTheme: NowWebTheme)

    웹 뷰를 호스팅하는 NowWebActivity를 작성합니다.

    표 2. 매개변수
    이름 유형 설명
    컨텍스트 컨텍스트 관련 활동을 시작하는 데 사용할 컨텍스트입니다.
    URL URL 로드할 웹 페이지의 URL입니다. 이 웹 페이지는 서비스가 초기화된 대상 ServiceNow 인스턴스에 있어야 합니다.
    nowWebTheme NowWebTheme 옵션입니다. 뷰 컨트롤러의 UI 요소에 적용할 NowWebTheme 개체입니다.

    기본값: 기본 테마

    표 3. 반환
    유형 설명
    없음

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

    suspend fun launchNowWeb() {
        val webService = getNowWebService()
    
        val webTheme = object : NowWebTheme {
            override val brand: Int
                get() = Color.BLUE
    
            override val textPrimary: Int
                get() = Color.BLACK
    
            //Override remaining theme colors
        }
        webService?.launch(activity, URL("https://instance-name.service-now.com"), webTheme)
    }

    NowWebService – preloadWebCache(preloadUris: List<URI>)

    헤드리스 웹 뷰에 지정된 java.net.URI 목록을 미리 로드하여 페이지에서 캐시 가능한 리소스로 webview 캐시를 미리 채웁니다.

    주:
    이 함수 호출의 완료는 웹뷰에서 호출되는 onPageFinished() 를 기반으로 하며, 페이지의 리디렉션 또는 리소스를 고려하지 않습니다. 이 때문에 이 메서드가 반환될 때 사전 로드가 완전히 완료되지 않을 수 있습니다.
    표 4. 매개변수
    이름 유형 설명
    preloadUris 목록 미리 로드할 java.net.URI 목록입니다. 모든 java.net.URI는 상대적이거나 NowSDK에 구성된 현재 호스트와 일치해야 합니다.
    표 5. 반환
    유형 설명
    없음

    다음 예제는 webService.preloadWebCache() 함수를 사용하여 mesp 페이지를 미리 로드하는 방법을 보여줍니다.

    suspend fun preloadNowWeb() {
      val webService = serviceProvider.webService()
      webService.preloadWebCache(
        listOf(
          URI("mesp")
        )
      )
    }

    NowWebService – updateTheme(nowWebTheme: NowWebTheme)

    지정된 UI 테마로 NowWeb UI 테마를 업데이트합니다. 이 함수를 사용하면 테마를 밝은 색에서 어두운 색으로 변경할 때와 같이 launch() 함수를 사용하여 웹 UI 테마를 처음 설정한 후 업데이트할 수 있습니다.

    표 6. 매개변수
    이름 유형 설명
    nowWebTheme NowWebTheme 뷰 컨트롤러의 UI 요소에 적용할 NowWebTheme 개체입니다.
    표 7. 반환
    유형 설명
    없음

    다음 코드 예제는 launch() 함수를 사용하여 구현된 밝은 UI 테마를 updateTheme() 함수를 사용하여 어두운 UI 테마로 업데이트하는 방법을 보여줍니다.

    val webService = getNowWebService()
    
    val lightTheme = object : NowWebTheme {
        override val brand: Int
            get() = Color.BLUE
    
        override val textPrimary: Int
            get() = Color.BLACK
    
        override val backgroundPrimary: Int
            get() = Color.WHITE
    
        // Override remaining theme colors
    }
    
    val darkTheme = object : NowWebTheme {
        override val brand: Int
            get() = Color.BLUE
    
        override val textPrimary: Int
            get() = Color.WHITE
    
        override val backgroundPrimary: Int
            get() = Color.BLACK
    
        // Override remaining theme colors
    }
    
    //launch NowWeb with light theme
    webService?.launch(activity, URL("https://instance-name.service-now.com"), lightTheme)
    
    //update NowWeb with dark theme
    webService?.updateTheme(darkTheme)