仮想チャットと ライブエージェント チャットの実装
このMobile SDKを使用すると、iOSアプリケーション内に仮想チャットサービスとライブエージェントチャットサービスを簡単に実装できます。
チャットユーザーインターフェイスを作成するには、 NowChatService API を使用します。UI が作成されたら、チャットセッションを開始してから、チャットサービスを開始する必要があります。他の Mobile SDK 機能サービスと同様に、 NowChatService API は、 startChat() メソッドを含む一部のメソッドに 2 つの実装を提供します。1 つの実装は Combine パブリッシャーを返し、もう 1 つの実装は戻り値を使用して補完ハンドラーを呼び出します。
以下は、チャット UI とセッションを初期化して開始する方法を示すサンプル アプリケーションからの抜粋です。
func makeChatScreen() -> UIViewController? {
guard let chatService = chatService else { return nil }
let result = chatService.makeChatUI(theme: CarrascoChatTheme(chatColors: ChatColors()))
switch result {
case .success(let chatViewController):
return chatViewController
case .failure(let error):
debugPrint("Chat screen creation failed with error: \(error)")
return nil
}
}
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()
}
}
}アプリケーション内でチャット機能を利用する前に、ServiceNowインスタンス内で仮想エージェントを構成する必要があります。詳細については、「Virtual Agent」を参照してください。
チャットユーザーインターフェイスのテーマ
makeChatUI() 呼び出しでテーマオブジェクトを渡すことで、ライブエージェントと仮想エージェントチャット UI の色をカスタマイズできます。カスタマイズ可能なすべての要素のリストについては、「 NowChatColoring プロトコル - iOS」を参照してください。デフォルトでは、チャット UI はすべての NowSDK UI 要素に NowUIColor テーマを使用します。チャット UI にテーマを適用する方法に関するサンプル コード スニペットについては、 NowChatThemeable プロトコル: iOS を参照してください。