---
sourceDocument: Référence de l’API Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - fr-FR

ft:publication_title :

    - Référence de l’API Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# Initialiser le NowSDK dans votre application

# Initialiser le NowSDK dans votre application {#ariaid-title1}

* Rversion finale: Xanadu
* 
* Mis à jour 1 août 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 1 minute de lecture

Pour utiliser les dans votre application, vous devez effectuer l'initialisation, l'autorisation et la Mobile SDK journalisation du SDK.
Lorsque vous utilisez le Kit de développement logiciel (SDK), celui-ci envoie une demande de configuration du Kit de développement logiciel (SDK) et fournit des rappels à partir du Kit de développement logiciel (SDK). Une fois le SDK configuré, une application peut utiliser les services de fonctionnalité et leurs API associées. Cette installation/configuration permet d'effectuer un appel authentifié à une ServiceNow instance.  
Voici un exemple de la façon d'initialiser le NowSDK dans votre Android application.

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


