NowSDKConfiguration 클래스 - Android

  • 릴리스 버전: Washingtondc
  • 업데이트 날짜 2024년 02월 01일
  • 읽기3분
  • NowSDKConfiguration 클래스에는 NowSDK를 초기화하는 데 필요한 구성 정보가 포함되어 있습니다.

    표 1. 속성
    이름 유형 설명
    권한 부여 NowSDKAuthorization제공 요청 시 NowSDK에 권한 부여 토큰을 제공하는 책임이 있는 위임 객체입니다.
    Loglevel NowLog수준 저장할 관련 로거의 로그 메시지 수준입니다.
    유효한 값은 다음과 같습니다(대/소문자 구분):
    • 디버그
    • 오류
    • 치명적
    • 정보
    • 없음
    permissionDelegate DevicePermissionDelegate

    표시된 장치 권한을 요청하기 위한 시스템 대화 상자를 표시하기 위해 호스트 애플리케이션에서 권한을 요청하기 위해 NowSDK에서 호출한 위임 객체입니다.

    예:
    override fun canRequestPermission(permission: DevicePermission): Boolean =
      when (permission) {
        DevicePermission.Camera -> true
        DevicePermission.Microphone -> false
      }
    }

    NowSDKConfiguration - NowSDKConfiguration(authorizationProvider: NowSDKAuthorizationProviding, permissionDelegate: DevicePermissionDelegate, logLevel: NowLogLevel)

    새 NowSDKConfiguration 개체를 만듭니다.

    표 2. 매개변수
    이름 유형 설명
    권한 부여 NowSDKAuthorization제공 요청 시 NowSDK에 권한 부여 토큰을 제공하는 책임이 있는 위임 객체입니다.
    permissionDelegate DevicePermissionDelegate

    표시된 장치 권한을 요청하기 위한 시스템 대화 상자를 표시하기 위해 호스트 애플리케이션에서 권한을 요청하기 위해 NowSDK에서 호출한 위임 객체입니다.

    예:
    override fun canRequestPermission(permission: DevicePermission): Boolean =
      when (permission) {
        DevicePermission.Camera -> true
        DevicePermission.Microphone -> false
      }
    }
    Loglevel NowLog수준 저장할 관련 로거의 로그 메시지 수준입니다.
    유효한 값은 다음과 같습니다(대/소문자 구분):
    • 디버그
    • 오류
    • 치명적
    • 정보
    • 없음
    표 3. 반환
    유형 설명
    없음

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

    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
        }
    }