Initialisieren Sie das NowSDK in Ihrer Anwendung

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 1 Minute Lesedauer
  • Um auf die vom NowSDK bereitgestellten Funktionen zuzugreifen, müssen Sie zuerst das NowSDK in Ihrer Anwendung initialisieren.

    Die Mobile SDK Initialisierung ist asynchron. Es ist empfehlenswert, den Initialisierungsprozess so früh wie möglich zu starten, z. B. in den Anwendungsdelegierten Anwendung (Anwendung:didFinishLaunchingWithOptions:) Funktion. Die Initialisierung muss nur einmal pro Anwendungsstart erfolgen. Es ist nicht erforderlich, eine erneute Initialisierung durchzuführen, wenn eine vorherige oder neue Szene erkannt wird.

    Das folgende Diagramm zeigt die Initialisierungssequenz für NowSDK- und Funktionsservices:


    Flow-Diagramm der MobileSDK-Integration

    Um zu initialisieren ServiceNow Mobile SDK In Ihrer iOS-Anwendung benötigen Sie einen Autorisierungsanbieter, der den entspricht NowSDKAuthorizationProviding , Der Ihre JWT-Anbieterinformationen und einen Delegierten verwendet, der den entspricht Geräteberechtigungsdelegierter .

    Im Folgenden finden Sie ein Beispiel für eine Struktur einer SDK-Initialisierung. Weitere Codebeispiele finden Sie unter ServiceNow Mobile SDK Beispielanwendung.

    // 
    
    //  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 
    
    }

    Gastanwender

    Wenn der aktuelle Anwender nicht authentifiziert ist, kann er als Gast auf die SDK-Funktionalität zugreifen. Um anzugeben, dass der aktuelle Anwender ein Gast ist, die AnforderungsAutorisierung Die Funktion im Autorisierungsanbieter muss mit einem Gasttyp von abgeschlossen werden AutorisierungToken , Wie unten dargestellt. Der Tokenwert ist in diesem Fall so lange nicht wichtig wie AutorisierungTokenType Ist auf festgelegt .Gast . Weitere Informationen zu Gastanwendern finden Sie unter Konfigurieren Sie den Gastanwenderzugriff.

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

    Anwender werden vom SDK abgemeldet

    Nachdem ein Anwender von einer Hostanwendung abgemeldet wurde, sollten Sie aufrufen NowSDK.Logout() Methode zum Löschen des Anwenders ServiceNow Sitzungen und Token aus dem SDK. Zum Beispiel:

    func onLogout() {
      NowSDK.logout()
    }