NowSDK - Android

  • 릴리스 버전: Washingtondc
  • 업데이트 날짜 2024년 02월 01일
  • 읽기3분
  • NowSDK 클래스는 NowSDK에 대한 공용 API를 제공하는 싱글톤입니다. 이 클래스는 모든 Android SDK 기능 서비스에 대한 게이트웨이입니다.

    피처 서비스를 초기화하기 전에 NowSDK.configure()를 호출하여 SDK 자체를 초기화해야 합니다. NowSDK 시작 Android 에 대한 자세한 내용은 Mobile SDK Developers Guide - Android를 참조하십시오ServiceNow.

    NowSDK - configure(application: Application, configuration: NowSDKConfiguration)

    사용할 NowSDK를 구성합니다.

    SDK에서 제공하는 피처 서비스를 사용하기 전에 이 함수를 호출해야 합니다.

    표 1. 매개변수
    이름 유형 설명
    애플리케이션 애플리케이션 호스팅 응용 프로그램 개체에 대한 참조입니다.
    구성 NowService구성 NowSDK를 초기화하는 데 필요한 정보가 포함된 객체입니다.
    표 2. 반환
    유형 설명
    없음 제공된 구성이 잘못된 경우 NowSDKError가 throw됩니다.

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

    class SampleApplication : Application(), NowSDKAuthorizationProviding, DevicePermissionDelegate {
    
        private val nowSdkSettings = NowSDKSettings(
            instanceBaseURL = "https://instance-name.service-now.com",
            clientId = "client_id",
            user = "user"
        )
    
        private val coroutineScope = CoroutineScope(Dispatchers.IO)
    
        private val nowSDKConfiguration = NowSDKConfiguration(this, this, NowLogLevel.Debug)
        override fun onCreate() {
            super.onCreate()
    
            NowSDK.configure(this, nowSDKConfiguration)
        }
    
    
        override fun requestAuthorization(
            instanceURL: URL,
            callback: Consumer<List<AuthorizationToken>?>
        ) {
            coroutineScope.launch {
                when {
                    nowSdkSettings.user.isNullOrBlank().not() -> authorizeWithJWT(
                        callback = callback,
                        user = nowSdkSettings.user,
                        clientId = nowSdkSettings.clientId
                    )
    
                    else -> authorizeWithGuest(callback = callback)
                }
            }
        }
    
        override fun canRequestPermission(permission: DevicePermission): Boolean {
            return true
        }
    }

    NowSDK - logout()

    메모리에 남아 있는 모든 사용자 세션을 지웁니다.

    표 3. 매개변수
    이름 유형 설명
    없음
    표 4. 반환
    유형 설명
    없음

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

    class SampleApplication : Application() {
    
        private val nowSDKConfiguration = NowSDKConfiguration(authorizationProvider, permissionDelegate, NowLogLevel.Debug)
    
        override fun onCreate() {
            super.onCreate()
            NowSDK.configure(this, nowSDKConfiguration)
        }
    
        fun logout() {
            // Clear all user session when an application resets the user session
            NowSDK.logout()
        }
    }