写点什么

如何设置融云用户信息

发布于: 2021 年 03 月 16 日

最近在使用融云,由于第一次使用,遇到了一个小坑,在这里记录一下,希望能帮助到后续开发者


问题是使用了融云的 IMKit 组件,也就是自带 UI 的,对于快速试错的产品来说,工期必须短,所以使用 IMKit 是非常方便的,省去了很大部分时间去搞界面。但是使用过程中发现,没有用户的头像和昵称。后来经过阅读文档发现,需要设置“用户信息提供者”代理方法。SDK 在需要显示头像和昵称的时候,会通过这个代理找开发者索取用户信息,开发者只要遵循代理,且实现代理方法,返回用户信息即可。


上代码:


1.遵循代理


@interface AppDelegate () <RCIMUserInfoDataSource>
复制代码


复制代码


@end
复制代码

2.设置代理


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
复制代码


    //必须先初始化
复制代码


    [[RCIM sharedRCIM] initWithAppKey:"开发者自己的 appkey"];
复制代码


    [[RCIM sharedRCIM] connectWithToken:"当前用户的 token" dbOpened:^(RCDBErrorCode code) {
复制代码


            
复制代码


        } success:^(NSString *userId) {
复制代码


            
复制代码


        } error:^(RCConnectErrorCode errorCode) {
复制代码


            
复制代码


        }];
复制代码


    //设置当前用户信息
复制代码


    RCUserInfo *currentUser = [[RCUserInfo alloc] initWithUserId:@"tiezhu" name:@"铁柱" portrait:@"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1573646812313&di=116350f184eda99d91393304fa83a6ea&imgtype=0&src=http%3A%2F%2Fimg.jinse.com%2F712431_image3.png"];
复制代码


    [RCIM sharedRCIM].currentUserInfo = currentUser;
复制代码


    //设置代理
复制代码


    [RCIM sharedRCIM].userInfoDataSource = self;
复制代码


}
复制代码

3.实现代理方法


- (void)getUserInfoWithUserId:(NSString *)userId completion:(void (^)(RCUserInfo *userInfo))completion {
复制代码


    //这里最好是从开发者自己服务器获取用户信息,然后返回。此处仅为示例
复制代码


    RCUserInfo *user = nil;
复制代码


    if ([userId isEqualToString:@"tiezhu"]) {
复制代码


        user = [[RCUserInfo alloc] initWithUserId:@"tiezhu" name:@"铁柱" portrait:@"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1570172426&di=01d14daa81f320235376d9c4dede0493&imgtype=jpg&er=1&src=http%3A%2F%2Fgss0.baidu.com%2F-vo3dSag_xI4khGko9WTAnF6hhy%2Fzhidao%2Fpic%2Fitem%2Fd788d43f8794a4c240e9466f0ef41bd5ac6e39af.jpg"];
复制代码


    }
复制代码


    if (completion) {
复制代码


        completion(user);
复制代码


    }
复制代码


}
复制代码

到此就搞定了兄嘚,值一杯秋天的奶茶


用户头像

还未添加个人签名 2021.01.26 加入

还未添加个人简介

评论

发布
暂无评论
如何设置融云用户信息