将 ChatSDK 与 Zendesk 一起使用 iOS Swift

Using ChatSDK with Zendesk iOS Swift

我正在将 ZDCChat 更新为 ChatSDK。我现在遇到一个问题。

每次我来到聊天屏幕 Chat.accountProvider?.observeAccount 这个观察者告诉我 No Agent Available。但是代理可以在我的浏览器上使用。

第二件事是当我输入消息并点击发送时,它没有显示在我的聊天屏幕上。

这是代码。这是在 AppDelegate 中:

 let chatConfiguration = ChatConfiguration()
    chatConfiguration.isPreChatFormEnabled = false

    let chatAPIConfiguration = ChatAPIConfiguration()
    chatAPIConfiguration.department = "Blah"
    chatAPIConfiguration.visitorInfo = VisitorInfo(name: "BlahUser", email: "test@test.com", phoneNumber: "")
    Chat.instance?.configuration = chatAPIConfiguration;

    Chat.initialize(accountKey: "------my key------", queue: .main)

这就是我开始聊天的方式

 let chatAPIConfiguration = ChatAPIConfiguration()
    chatAPIConfiguration.department = "iOS App"
    chatAPIConfiguration.visitorInfo = VisitorInfo(name: nameField.text!, email: emailField.text!, phoneNumber: "")
    Chat.instance?.configuration = chatAPIConfiguration;

do {
      let chatEngine = try ChatEngine.engine()
      let viewController = try Messaging.instance.buildUI(engines: [chatEngine], configs: [])
        viewController.view.backgroundColor = Constants.bgColor
      self.navigationController?.pushViewController(viewController, animated: true)
    } catch {

      // handle error
        print("error initaiting chat")
    }

结束聊天也不起作用,我一直在启动会话。

 let stateToken = Chat.chatProvider?.observeChatState { (state) in
        // Handle logs, agent events, queue position changes and other events
        print("My Session status: ", state.chatSessionStatus)
        switch state.chatSessionStatus {
        case .configuring:
            print("COnfiguring")
        case .ended:
            print("Ended")
        case .ending:
            print("Ending")
        case .initializing:
            print("initializing")
        case .started:
            print("started")
        default:
            print("Default Case")
        }
    }

我有同样的问题

试着评论这一行:

let chatAPIConfiguration = ChatAPIConfiguration()
    chatAPIConfiguration.department = "iOS App"
    chatAPIConfiguration.visitorInfo = VisitorInfo(name: nameField.text!, email: emailField.text!, phoneNumber: "")
    Chat.instance?.configuration = chatAPIConfiguration;

chatConfiguration.preChatFormConfiguration = formConfiguration

 let chatConfiguration = ChatConfiguration()
    chatConfiguration.isPreChatFormEnabled = false

    let chatAPIConfiguration = ChatAPIConfiguration()
    chatAPIConfiguration.department = "Blah"
    chatAPIConfiguration.visitorInfo = VisitorInfo(name: "BlahUser", email: "test@test.com", phoneNumber: "")
    Chat.instance?.configuration = chatAPIConfiguration;

更新:

我有同样的问题,我写信支持。 他们回复了我好久,信件都快一个星期了。

我决定更详细地分析一下,因为这样的错误可能是什么。

我尝试在聊天中发送图片 - 聊天赚了。

但是如果你只是写短信,它们是不会发送的。

然后我决定评论有关用户的信息,然后一切正常,但在聊天信息中看不到用户写的内容...

如果你们中的任何人发现这个问题并卡在问题中,请联系我,我们将一起解决问题。

所以,经过这么多的奋斗。

发现我们不需要这些代码行:

let chatAPIConfiguration = ChatAPIConfiguration()
chatAPIConfiguration.department = "iOS App"
chatAPIConfiguration.visitorInfo = VisitorInfo(name: nameField.text!, email: emailField.text!, phoneNumber: "")
Chat.instance?.configuration = chatAPIConfiguration;

chatConfiguration.preChatFormConfiguration = formConfiguration

我删除这段代码后,应用程序就可以正常工作了。 我仍在寻找如何自定义 UI.

特别感谢@Linyx。感谢您帮助我找到解决方案。

Saad Ullah,我在网站上的聊天设置中启用了部门并且 ios 聊天现在可以工作了...你也可以检查一下吗?

还原代码中的更改并尝试