融云集成过程详解

本文档详细介绍了融云通讯SDK在iOS平台的集成步骤,包括初始化、连接服务器、设置用户信息和会话列表的实现。在实际集成过程中遇到会话列表用户头像不显示的问题,解决方案是在收到消息或界面重新出现时刷新列表数据。

融云集成过程官方文档:

http://www.rongcloud.cn/docs/ios.html#integration

简要步骤说明

  • 初始化 SDK
#import <RongIMKit/RongIMKit.h>
/** 融云初始化 */
- (void)setupRongCloud {
    [[RCIM sharedRCIM] initWithAppKey:RongCloudKey];
}
  • 连接服务器
#import <RongIMKit/RongIMKit.h>
/** 连接服务器 */
- (void)connectToServerWithToken:(NSString *)token {
    [[RCIM sharedRCIM] connectWithToken:token success:^(NSString *userId) {
        NSLog(@"登录的用户是%@", userId);
        // 代理提供用户信息
        [RCIM sharedRCIM].userInfoDataSource = self;
        // 代理当前用户信息
        RCUserInfo *info = [[RCUserInfo alloc] init];
        [RCIM sharedRCIM].currentUserInfo = info;

    } error:^(RCConnectErrorCode status) {
        NSLog(@"%ld", (long)status);
    } tokenIncorrect:^{
        NSLog(@"token错误");
    }];
}
  • 提供用户信息
/** 代理提供用户信息 */
- (void)getUserInfoWithUserId:(NSString *)userId completion:(void (^)(RCUserInfo *))completion {
    RCUserInfo *info = [[RCUserInfo alloc] init];
    // 用户的信息根据userId到APP服务器获取
    ...
    completion(info);
}
  • 会话列表
#import <RongIMKit/RongIMKit.h>
// 创建ViewController继承RCConversationListViewController
// 参考RCConversationListViewController,根据需求重写方法

//重写RCConversationListViewController的onSelectedTableRow事件
- (void)onSelectedTableRow:(RCConversationModelType)conversationModelType
         conversationModel:(RCConversationModel *)model
               atIndexPath:(NSIndexPath *)indexPath {
// 跳转会话
    RCConversationViewController *conversationVC = [[RCConversationViewController alloc]init];
    conversationVC.conversationType = model.conversationType;
    conversationVC.targetId = model.targetId;
    conversationVC.title = model.conversationTitle;
    conversationVC.hidesBottomBarWhenPushed = YES;
    [self.navigationController pushViewController:conversationVC animated:YES];
}

遇到的问题,会话列表中的用户头像不显示,进入会话再返回就显示,或者滑动列表才显示
解决办法:目前我是在收到信息和viewDidAppear刷新列表数据

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    // 刷新tableView数据
    [self.conversationListTableView reloadData];
}

// 接收到信息
- (void)onRCIMReceiveMessage:(RCMessage *)message left:(int)left {
    [[RCIMManager shareIntance] updateBadgeValue];
    // 刷新tableView数据
    [self.conversationListTableView reloadData];
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值