Implémenter le virtuel et Agent actif la messagerie instantanée
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.