【发布时间】:2017-01-31 07:17:34
【问题描述】:
对于应用程序中的嵌入式聊天功能,我们使用 Twilio 的 Programmable Chat 框架。 TwilioChatClient 创建如下:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
if let token = utils.user_token {
setupTwilio(token: token)
}else {
utils.getAccessToken({
user_token in
if let token = user_token as String! {
self.setupTwilio(token: token)
}
})
}
}
private func setupTwilio(token: String) {
if client == nil {
client = TwilioChatClient(token: token, properties: nil, delegate: self)
}
}
根据 twilio 文档,我们需要 client?.channelsList() 来创建、获取、加入甚至删除频道,而我们得到的 client?.channelsList() 始终为零。
仅供参考,用于创建client 的令牌是有效的,client 不是零。有人能告诉我为什么client?.channelsList() 的结果为零吗?还是我们遗漏了什么?
另一个蹩脚的问题,TwilioIPMessagingClient 和 TwilioChatClient 有什么区别?我假设TwilioChatClient 是TwilioIPMessagingClient 的升级版,但还没有找到任何明确的文档。谁能给我迁移指南?
编辑
附: 我们确实在委托方法中等待客户端初始化;喜欢
extension ChatViewController: TwilioChatClientDelegate {
func chatClient(_ client: TwilioChatClient!, synchronizationStatusChanged status: TCHClientSynchronizationStatus) {
guard status != .completed else {
print("Show failed alert")
return
}
guard client.channelsList() != nil else {
print("channel list is nil");
return
}
// create and/or join channel
joinChatChannel();
}
}
但是第二次流总是失败guard。
【问题讨论】:
-
您好,如何知道其他用户在线或离线。请问您有我吗?
标签: swift chat twilio twilio-api