---
sourceDocument: Referência de API do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Referência de API do Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# Inicializar o NowSDK em sua aplicação

# Inicializar o NowSDK em sua aplicação {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 1 min. de leitura

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,
                        ""
                    )
                )
            )
        }
    }


