Implémenter le virtuel et Agent actif la messagerie instantanée

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 2 minutes de lecture
  • Il Mobile SDK vous permet d’implémenter facilement des services virtuels et Agent actif de chat dans 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. À l’instar 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 renvoyés.

    Ce qui suit est 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 exploiter la fonctionnalité de messagerie instantanée au sein de votre application, vous devez effectuer la configuration Agent virtuel au sein de votre ServiceNow instance. Pour plus de détails, voir Virtual Agent.

    Transmission de variables de contexte à et Agent virtuel messagerie Agent actif instantanée

    Vous pouvez transmettre des variables contextuelles 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 de contexte de la 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 en Agent virtuel 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 la messagerie instantanée utilise le thème pour tous les éléments de l’interface NowUIColor utilisateur NowSDK. Consultez les exemples d’extraits Protocole NowChatThemeable - iOS de code sur la façon d’appliquer un thème à l’interface utilisateur de votre messagerie instantanée.