---
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) 2 minutes de lecture

Pour accéder aux fonctionnalités fournies par le NowSDK, vous devez d'abord initialiser le NowSDK dans votre application.
L'initialisation Mobile SDK est asynchrone. Il est recommandé de démarrer le processus d'initialisation le plus tôt possible, par exemple dans la fonction `application(application :didFinishLaunchingWithOptions :)` du délégué d'application. L'initialisation ne doit se produire qu'une seule fois par lancement d'application. Il n'est pas nécessaire de réinitialiser lorsqu'il est mis au premier plan ou lorsqu'une nouvelle scène est détectée.

Le diagramme suivant montre la séquence d'initialisation pour NowSDK et les services de fonctionnalité :  

<br />

Pour initialiser le ServiceNow Mobile SDK dans votre application iOS, vous aurez besoin d'un fournisseur d'autorisation conforme à `NowSDKAuthorizationProviding`, qui utilise les informations de votre fournisseur JWT, et d'un délégué conforme à `DevicePermissionDelegate`.

Vous trouverez ci-dessous un exemple de structure d'initialisation du SDK. Pour des exemples de code supplémentaires, reportez-vous à l'exemple d'application ServiceNow Mobile SDK .

    // 

    //  JWTProvider.swift 

    import Foundation 
    import NowSDK 

    class JWTProvider: NowSDKAuthorizationProviding { 
      let token: String 

      init(token: String) { 
        self.token = token 
      } 

      func requestAuthorization(for instanceUrl: URL, completion: @escaping ([AuthorizationToken]?) -> Void) { 
        completion([AuthorizationToken(type: .jwt, token: token)]) 
      } 
    } 

    //
    //  PermissionProvider.swift 

    import Foundation
    import NowSDK 

    class PermissionProvider: DevicePermissionDelegate { 
      var isUserPermissionAllowed: Bool { Bool.random() } 

      func canRequestPermission(_ permission: DevicePermission) -> Bool { 
        guard isUserPermissionAllowed else { false } 
        return true 
      } 
    }

    //  
    //  AppDelegate.swift  

    import Foundation  
    import NowSDK  

    @main 
    class AppDelegate: UIResponder, UIApplicationDelegate { 
      func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { 

        let jwtProvider = JWTProvider(token: "a_valid_token") 
        let permissionDelegate = PermissionProvider()  
        let logLevel: NowLogLevel = .debug 

        let config = NowSDKConfiguration(authorizationProvider: jwtProvider, permissionDelegate: permissionProvider, logLevel: logLevel)  

        do { 
          try NowSDK.configure(with: config) 
        } catch { 
          // Handle 'error' 
        }

        return true 

    }

## Utilisateurs invités {#mobsdk-ios-init-nowsdk-in-app__section_cxw_xhx_kxb}

Si l'utilisateur actuel n'est pas authentifié, il lui est possible d'accéder aux fonctionnalités du SDK en tant qu'invité. Pour indiquer que l'utilisateur actuel est un invité, la fonction requestAuthorization du fournisseur d'autorisation doit se compléter avec un type d'invité AuthorizationToken, comme indiqué ci-dessous. Dans ce cas, la valeur du jeton n'est pas importante tant que AuthorizationTokenType est défini sur `.guest`. Pour en savoir plus sur les utilisateurs invités, reportez-vous à la section [Configurer l'accès des utilisateurs invités](https://servicenow-prod.fluidtopics.net/JGmE~_aSNrHhQLD5o576fw "Pour que les services SDK soient accessibles aux utilisateurs non authentifiés, vous devez configurer les sur votre ServiceNow instance pour autoriser l’accès Mobile SDK des utilisateurs invités. Un utilisateur invité peut afficher des pages Web publiques hébergées dans une instance à l’aide de NowWeb, avoir une conversation en tant qu’invité à l’aide de NowChat, accéder aux données publiques sur l’instance à l’aide de NowTableService et NowGraphQLService, et accéder aux services API personnalisés configurés pour les utilisateurs non authentifiés à l’aide de NowAPIService.").

    //  GuestTokenProvider.swift 
    import Foundation 
    import NowSDK 
    class GuestTokenProvider: NowSDKAuthorizationProviding { 
        func requestAuthorization(for instanceUrl: URL,  
            completion: @escaping ([AuthorizationToken]?) -> Void) { 
            completion([AuthorizationToken(type: .guest, token: "")]) 
        } 
    } 

## Déconnecter les utilisateurs du SDK

Une fois qu'un utilisateur est déconnecté d'une application hôte, vous devez appeler la méthode `NowSDK.logout()` pour effacer les ServiceNow sessions et les jetons de cet utilisateur du SDK. Par exemple :  

    func onLogout() {
      NowSDK.logout()
    } 


