Initialiser le NowSDK dans votre application

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 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 lancer 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 avoir lieu qu’une seule fois par lancement d’application. Il n’est pas nécessaire de réinitialiser lorsqu’il est au premier plan ou lorsqu’une nouvelle scène est détectée.

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

    Voici un exemple de structure d’initialisation d’un SDK. Pour obtenir 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

    Si l’utilisateur actuel n’est pas authentifié, il peut accéder à la fonctionnalité SDK en tant qu’invité. Pour indiquer que l’utilisateur actuel est un invité, la fonction requestAuthorization du fournisseur d’autorisation doit être complétée par un type invité d’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 plus d’informations sur les utilisateurs invités, reportez-vous à la section Configurer l’accès de l’utilisateur invité.

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

    Déconnexion des 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 sessions et les ServiceNow jetons de cet utilisateur du SDK. Par exemple :

    func onLogout() {
      NowSDK.logout()
    }