NowSDKConfiguration 클래스 - Android

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

    표 1. 속성
    이름 유형 설명
    authorization제공자 NowSDKAuthorizationProviding 요청 시 NowSDK에 권한 부여 토큰을 제공해야 하는 Delegate 개체입니다.
    logLevel NowLogLevel 저장할 연결된 로거에 대한 로그 메시지의 수준입니다.
    유효한 값(대/소문자 구분):
    • 디버그
    • 오류
    • 치명적
    • 정보
    • 없음
    permission위임자 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. 매개변수
    이름 유형 설명
    authorization제공자 NowSDKAuthorizationProviding 요청 시 NowSDK에 권한 부여 토큰을 제공해야 하는 Delegate 개체입니다.
    permission위임자 DevicePermissionDelegate (디바이스 권한 위임자)

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

    예:
    override fun canRequestPermission(permission: DevicePermission): Boolean =
      when (permission) {
        DevicePermission.Camera -> true
        DevicePermission.Microphone -> false
      }
    }
    logLevel NowLogLevel 저장할 연결된 로거에 대한 로그 메시지의 수준입니다.
    유효한 값(대/소문자 구분):
    • 디버그
    • 오류
    • 치명적
    • 정보
    • 없음
    표 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
        }
    }