Inicializar o NowSDK em sua aplicação
Para usar o Mobile SDK em sua aplicação, você precisa executar a inicialização, a autorização e o registro em log do SDK.
Conforme você usa o NowSDK, ele faz uma solicitação para configurar o SDK e fornece retornos de chamada do SDK. Depois que o SDK é configurado, uma aplicação pode usar os serviços de recursos e suas APIs associadas. Esta instalação/configuração ajuda a fazer uma chamada autenticada para uma instância ServiceNow.
A seguir está um exemplo de como inicializar o NowSDK em sua aplicação 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,
""
)
)
)
}
}