애플리케이션에서 NowSDK 초기화
애플리케이션에서 사용하려면 Mobile SDK SDK 초기화, 권한 부여 및 로깅을 수행해야 합니다.
NowSDK를 사용할 때 SDK 구성을 요청하고 SDK에서 콜백을 제공합니다. SDK가 구성되면 애플리케이션에서 기능 서비스 및 관련 API를 사용할 수 있습니다. 이 설정/구성은 인스턴스에 대해 인증된 호출을 ServiceNow 수행하는 데 도움이 됩니다.
다음은 애플리케이션에서 NowSDK를 초기화하는 방법의 예제입니다 Android .
//Helper class to encapsulate value needed to initialize the sdk
data class NowSDKSettings(val instanceBaseURL : String, val clientId: String, val user: String?)
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
}
private fun authorizeWithJWT(
callback: Consumer<List<AuthorizationToken>?>,
user: String?,
clientId: String
) {
//Get JWT token needed for the sdk initialization.
val jwtToken ="jwt_token"
callback.accept(listOf(AuthorizationToken(AuthorizationTokenType.JWT, jwtToken)))
}
private fun authorizeWithGuest(callback: Consumer<List<AuthorizationToken>?>) {
callback.accept(
listOf(
AuthorizationToken(
AuthorizationTokenType.Guest,
""
)
)
)
}
}