美文网首页
融云自定义消息时,携带者用户信息(头像,昵称)

融云自定义消息时,携带者用户信息(头像,昵称)

作者: 今晚丿打老虎 | 来源:发表于2020-04-29 11:29 被阅读0次


    通常我们会在融云连接成功时,携带用户信息.这样单聊和群聊里面就会有携带个人信息.

    但是,融云在发送自定义消息时,用户的头像,昵称不会根据之前赋值而携带发送.所以要在自定义消息里面添加上用户信息.

    #import "RCDTestMessage.h"

    @implementation RCDTestMessage

    ///将消息内容编码成json

    - (NSData*)encode{

          NSMutableDictionary *dic = [NSMutableDictionary dictionary];

         if (self.senderUserInfo) {

             NSMutableDictionary *__dic = [[NSMutableDictionary alloc] init];

             if (self.senderUserInfo.name) {

                 [__dicsetObject:self.senderUserInfo.nameforKeyedSubscript:@"name"];

             }

             if (self.senderUserInfo.portraitUri) {

                 [__dicsetObject:self.senderUserInfo.portraitUriforKeyedSubscript:@"portrait"];

             }

             if (self.senderUserInfo.userId) {

                 [__dicsetObject:self.senderUserInfo.userIdforKeyedSubscript:@"id"];

             }

             [dicsetObject:__dicforKey:@"user"];

         }

          NSData *data = [NSJSONSerialization dataWithJSONObject:dic

          options:kNilOptions

            error:nil];

          returndata;

    }

    ///将json解码生成消息内容

    - (void)decodeWithData:(NSData*)data {

        NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];

           if(dic) {

               NSDictionary*userinfoDic = [dicobjectForKey:@"user"];

               [selfdecodeUserInfo:userinfoDic];

           }

    }

    - (NSArray<NSString *> *)getSearchableWords {

        return nil;

    }

    + (RCMessagePersistent)persistentFlag {

        return MessagePersistent_ISPERSISTED;

    }

    + (NSString *)getObjectName {

        return RCDTestMessageTypeIdentifier;

    }

    @end

    然后在发送自定义消息的时候,再赋一次值.就可以将用户信息一起发送出去了.

    相关文章

      网友评论

          本文标题:融云自定义消息时,携带者用户信息(头像,昵称)

          本文链接:https://www.haomeiwen.com/subject/vplgwhtx.html