NowWebService 클래스 - Android
NowWebService API는 웹 뷰를 호스팅하는 NowWebActivity를 시작하는 함수를 제공합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 구성 | NowServiceConfiguration 클래스 - Android | 인스턴스 URL 및 패키지 이름과 같은 ServiceNow 관련 서비스에 대한 구성 정보입니다. |
NowWebService - launch(컨텍스트: 컨텍스트, URL: URL, nowWebTheme: NowWebTheme)
웹 뷰를 호스팅하는 NowWebActivity를 작성합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 컨텍스트 | 컨텍스트 | 관련 활동을 시작하는 데 사용할 컨텍스트입니다. |
| URL | URL | 로드할 웹 페이지의 URL입니다. 이 웹 페이지는 서비스가 초기화된 대상 ServiceNow 인스턴스에 있어야 합니다. |
| nowWebTheme | NowWebTheme | 옵션입니다. 뷰 컨트롤러의 UI 요소에 적용할 NowWebTheme 개체입니다. 기본값: 기본 테마 |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.
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() 를 기반으로 하며, 페이지의 리디렉션 또는 리소스를 고려하지 않습니다. 이 때문에 이 메서드가 반환될 때 사전 로드가 완전히 완료되지 않을 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| preloadUris | 목록 | 미리 로드할 java.net.URI 목록입니다. 모든 java.net.URI는 상대적이거나 NowSDK에 구성된 현재 호스트와 일치해야 합니다. |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 예제는 webService.preloadWebCache() 함수를 사용하여 mesp 페이지를 미리 로드하는 방법을 보여줍니다.
suspend fun preloadNowWeb() {
val webService = serviceProvider.webService()
webService.preloadWebCache(
listOf(
URI("mesp")
)
)
}
NowWebService – updateTheme(nowWebTheme: NowWebTheme)
지정된 UI 테마로 NowWeb UI 테마를 업데이트합니다. 이 함수를 사용하면 테마를 밝은 색에서 어두운 색으로 변경할 때와 같이 launch() 함수를 사용하여 웹 UI 테마를 처음 설정한 후 업데이트할 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| nowWebTheme | NowWebTheme | 뷰 컨트롤러의 UI 요소에 적용할 NowWebTheme 개체입니다. |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 코드 예제는 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)