我希望显示用户名旁边的消息在聊天室使用quickblox。我希望简单地将发送者名称嵌入到消息的自定义参数中,但参数永远不会通过我的chatroomDidRecieveMessage。
我从示例中复制了代码,但没有成功。
[message setCustomParameters:@{@"playSound": @YES}];此外,在senderID/recipientID中似乎找不到可以与消息一起使用的模式。所以问题是,在收到消息时,获取发送者数据的最佳选择是什么?
在iOS上工作...
发布于 2013-10-02 17:09:37
更好的方法是将所有发送者的信息封装到JSON中,例如,让我们在message中发送用户的位置:
#define kLatitude @"latitude"
#define kLongitude @"longitude"
#define kMessage @"message"
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
[dict setObject:@"12.23423424" forKey:kLatitude];
[dict setObject:@"-2.13123333" forKey:kLongitude];
[dict setValue:@"Hello, this is my location" forKey:kMessage];
// to JSON:
NSError *error = nil;
NSData* nsdata = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:&error];
// send message
NSString* jsonString =[[NSString alloc] initWithData:nsdata encoding:NSUTF8StringEncoding];
[[QBChat instance] sendMessage:jsonString toRoom:self.currentRoom];并接收消息:
-(void)chatRoomDidReceiveMessage:(QBChatMessage *)message fromRoom:(NSString *)roomName{
// JSON parsing
NSData *data = [message.text dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
NSString *message = [jsonDict objectForKey:kMessage];
NSString *latitude = [jsonDict objectForKey:kLatitude];
NSString *longitude = [jsonDict objectForKey:kLongitude];
}https://stackoverflow.com/questions/19125298
复制相似问题