我使用QB已有一段时间了,并且一切运行正常。
今天发生了什么事,我再也无法使用正确的dialogID接收QBChatMessages了。
我通过以下方式发送消息:
[self.dialog sendMessage:message completionBlock:^(NSError * _Nullable error) {
if (error != nil) {
NSLog(@"error! %@", error);
} else {
NSLog(@"success!");
/*locally adding message to tableview*/
}
}
回调总是成功的,另一端通过以下方式接收消息:
- (void)chatDidReceiveMessage:(QBChatMessage *)message
{
NSLog(@"chatDidReceiveMessage %@", message.dialogID);
}
但是我得到的dialogID是(空),这没有任何意义。发送消息时变量self.dialog.ID不为null,消息与我发送的所有文本一起到达其目的地,但是dialogID为(null)。我在帐户内的聊天管理面板中进行了验证,该对话框未显示新消息。我正在使用v2.6.0.1 btw。
最佳答案
好吧,我发现了我的问题。
似乎当我更改了一些发送消息的方法时,我注释掉了其中的重要部分
message.customParameters[@"save_to_history"] = @"1";
永远不要忘记设置save_to_history自定义参数,否则您的消息将在没有dialogID的情况下到达收件人。