Inicializar o NowSDK em sua aplicação

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 2 min. de leitura
  • Para acessar a funcionalidade fornecida pelo NowSDK, você deve primeiro inicializar o NowSDK em sua aplicação.

    A inicialização Mobile SDK é assíncrona. É uma prática recomendada iniciar o processo de inicialização o mais cedo possível, como na função application(application:didFinishLaunchedWithOptions:) do delegado da aplicação. A inicialização só precisa ocorrer uma vez por inicialização da aplicação. Não há necessidade de reinicializar quando em primeiro plano ou quando uma nova fase é detectada.

    O diagrama a seguir mostra a sequência de inicialização do NowSDK e dos serviços do recurso:


    Diagrama de fluxo de integração do MobileSDK

    Para inicializar o ServiceNow Mobile SDK em sua aplicação iOS, você precisará de um provedor de autorização em conformidade com NowSDKAutorizationProviding, que usa as informações do seu provedor JWT, e um delegado em conformidade com DevicePermissionDelegate.

    A seguir está um exemplo de uma estrutura de uma inicialização de SDK. Para obter exemplos de código adicionais, consulte a aplicação de exemplo 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 
    
    }

    Usuários convidados

    Se o usuário atual não estiver autenticado, é possível que ele acesse a funcionalidade do SDK como convidado. Para indicar que o usuário atual é um convidado, a função requestAuthorization no provedor de autorização deve ser concluída com um tipo de convidado de AuthorizationToken, conforme mostrado abaixo. O valor do token, neste caso, não é importante, desde que o AuthorizationTokenType esteja definido como .guest. Para obter informações adicionais sobre usuários convidados, consulte Configurar acesso de usuário convidado.

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

    Como fazer logout de usuários do SDK

    Depois que um usuário é desconectado de uma aplicação host, você deve chamar o método NowSDK.logout() para limpar as ServiceNow sessões e tokens do usuário do SDK. Por exemplo:

    func onLogout() {
      NowSDK.logout()
    }