NowSDK - Android

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

    기능 서비스를 초기화하기 전에 NowSDK.configure()를 호출하여 SDK 자체를 초기화해야 합니다. NowSDK를 Android 시작하는 방법에 대한 자세한 내용은 Mobile SDK 개발자 안내서AndroidServiceNow 참조하십시오.

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

    사용할 NowSDK를 구성합니다.

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

    표 1. 매개변수
    이름 유형 설명
    애플리케이션 애플리케이션 호스팅 애플리케이션 객체에 대한 참조입니다.
    구성 NowServiceConfiguration NowSDK를 초기화하는 데 필요한 정보가 포함된 객체입니다.
    표 2. 반환
    유형 설명
    없음 제공된 구성이 유효하지 않은 경우 NowSDKError가 발생합니다.

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

    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 - 로그아웃()

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

    표 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()
        }
    }