Implémenter le virtuel et Agent actif le chat

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 2 minutes de lecture
  • Il Mobile SDK vous permet d’implémenter facilement des services virtuels et Agent actif de chat au sein de votre application iOS.

    Vous utilisez l’API NowChatService pour créer l’interface utilisateur de messagerie instantanée. Une fois l’interface utilisateur créée, vous devez démarrer la session de messagerie instantanée, puis démarrer le service de messagerie instantanée. Semblable à d’autres Mobile SDK services de fonctionnalité, l’API NowChatService fournit deux implémentations pour certaines de ses méthodes, y compris la méthode startChat( ). Une implémentation renvoie un éditeur Combine , et l’autre appelle un gestionnaire de complétion avec les résultats de renvoi.

    Voici un extrait de l’exemple d’application qui montre comment initialiser et démarrer une interface utilisateur et une session de messagerie instantanée.

    // Create the chat UI
    func makeChatScreen() -> UIViewController? {
      guard let chatService = chatService else { return nil }
      let result = chatService.makeChatUI(theme: CarrascoChatTheme(baseTheme: CarrascoTheme()))
      switch result {
      case .success(let chatViewController):
        return chatViewController
      case .failure(let error):
        debugPrint("Chat screen creation failed with error: \(error)")
        return nil
      }
    }
        
    // Start the chat session
    func startChat() {
      guard let chatService = chatService else {
        debugPrint("Chat service is invalid")
        viewState = makeViewState()
        return
      }
      chatService.startChat { [weak self] result in
        if case .failure(let error) = result {
          debugPrint("Chat session initialization failed with error: \(error)")
          self?.resetChat()
        }
      }
    }
        
    // Initialize the chat service
    private func initializeChatService() {
      NowChat.makeChatService(instanceUrl: instanceUrl, delegate: self) { [weak self] result in
        guard let self = self else { return }
                
        switch result {
        case .success(let service):
          self.chatService = service
        case .failure(let error):
          debugPrint("Creating the chat service failed with error: \(error)")
        }
        self.viewState = self.makeViewState()
      }
    }

    Avant de pouvoir utiliser la fonctionnalité de messagerie instantanée au sein de votre application, vous devez la configurer Agent virtuel au sein de votre ServiceNow instance. Pour plus de détails, voir Virtual Agent.

    Transmettre des variables contextuelles à et Agent virtuel chatter Agent actif

    Vous pouvez transmettre des variables de contexte de messagerie instantanée lors du démarrage d’une session de messagerie instantanée en transmettant le contextData paramètre dans les NowChatService – startChat(contextData : [string : any] ?) fonctions or NowChatService – startChat(contextData : [String : Any] ? = nil, _ completion : @escaping (Result<Void, NowChatServiceError>)) . Pour en savoir plus sur les variables contextuelles de messagerie instantanée, reportez-vous à la section Live agent chat context variables.

    func startChat() {
      guard let chatService = chatService else {
        debugPrint("Chat service is invalid")
        viewState = makeViewState()
        return
      }
      let contextData = ["sys_id": "123456789", "table_name": "wm_task", "active": true] as [String: Any]
      chatService.startChat(contextData: contextData) { [weak self] result in
        if case .failure(let error) = result {
          debugPrint("Chat session initialization failed with error: \(error)")
          self?.resetChat()
        }
      }
    }

    Thème de l’interface utilisateur de la messagerie instantanée

    Vous pouvez personnaliser les couleurs de l’interface utilisateur de messagerie Agent actif instantanée and Agent virtuel en transmettant un objet de thème dans l’appel makeChatUI(). Pour obtenir la liste de tous les éléments que vous pouvez personnaliser, reportez-vous à la section Protocole NowChatColoring - iOS. Par défaut, l’interface utilisateur de messagerie instantanée utilise le thème pour tous les éléments d’interface NowUIColor utilisateur NowSDK. Reportez-vous à la section pour obtenir des exemples d’extraits de code sur la Protocole NowChatThemeable - iOS façon d’appliquer un thème à votre interface utilisateur de messagerie instantanée.