融云项目经验总结-头像和昵称显示/badge显示

2024-01-10 11:18

本文主要是介绍融云项目经验总结-头像和昵称显示/badge显示,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.  头像和昵称展示

融云为我们提供了两种头像和昵称显示方式

1). 头像和昵称随着消息一起发送给对方,这样的方式缺点是:当对方没有回复消息时,用户回话界面不能够显示对方的头像和昵称

代码: 在delegate的

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

方法中添加如下代码,

    [[RCIM sharedRCIM] setCurrentUserInfo:(RCUserInfo *)];

    [RCIMsharedRCIM].enableMessageAttachUserInfo =YES;


2). 在程序需要显示头像和昵称的时候,将头像和昵称发送给融云服务器

同样在delegate中,实现融云的代理方法

// 是否将用户信息和群组信息在本地持久化存储,默认值为NO
    [RCIM sharedRCIM].enablePersistentUserInfoCache = YES;

    [[RCIMsharedRCIM] setUserInfoDataSource:self];

- (void)getUserInfoWithUserId:(NSString *)userId

                   completion:(void (^)(RCUserInfo *userInfo))completion

{

    if ([userIdisEqualToString:@"1"]) {

        return completion([[RCUserInfoalloc] initWithUserId:userIdname:@"11"portrait:@"http://pic28.nipic.com/20130424/11588775_115415688157_2.jpg"]);


    }else

    {

        return completion([[RCUserInfoalloc] initWithUserId:userIdname:@"01"portrait:@"http://pic32.nipic.com/20130827/12906030_123121414000_2.png"]);


    }

}

2. 当收到消息时,实现badge的显示,如果想要app icon显示角标,那只要在下面的方法中实现即可

    //设置消息提示

    [[RCIMsharedRCIM] setReceiveMessageDelegate:self];

 _view=[[RCMessageBubbleTipView alloc]initWithParentView:self.tabbar.tabBar alignment:RC_MESSAGE_BUBBLE_TIP_VIEW_ALIGNMENT_BOTTOM_RIGHT];

//收到消息的监听
- (void)onRCIMReceiveMessage:(RCMessage *)message left:(int)left
{
    
    dispatch_sync(dispatch_get_main_queue(), ^{
         
        _view.bubbleTipPositionAdjustment=CGPointMake(0,0);
        _view.frameToPositionInRelationWith=CGRectMake(0, 0, 100, 10)
                _view.bubbleTipText =[NSString stringWithFormat:@"%ld",(long)[[RCIMClient sharedRCIMClient]getUnreadCount:ConversationType_PRIVATE targetId:@"12"]];

 @discussion如果为NO,会显示红点,不显示具体数字。

 */

@property(nonatomic)BOOL isShowNotificationNumber;


        NSInteger unread=[[RCIMClient sharedRCIMClient]getTotalUnreadCount];
                [self.tabbar.tabBar addSubview:_view];
        if ([_view.bubbleTipText isEqualToString:@"0"]) {
            _view.hidden=YES;
        }
        if (unread>=100) {
            _view.bubbleTipText=@"99+";
            _view.bubbleTipTextFont=[UIFont systemFontOfSize:12];
        }
     
            });


}

这篇关于融云项目经验总结-头像和昵称显示/badge显示的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/590608

相关文章

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca

SpringBoot通过main方法启动web项目实践

《SpringBoot通过main方法启动web项目实践》SpringBoot通过SpringApplication.run()启动Web项目,自动推断应用类型,加载初始化器与监听器,配置Spring... 目录1. 启动入口:SpringApplication.run()2. SpringApplicat

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

在ASP.NET项目中如何使用C#生成二维码

《在ASP.NET项目中如何使用C#生成二维码》二维码(QRCode)已广泛应用于网址分享,支付链接等场景,本文将以ASP.NET为示例,演示如何实现输入文本/URL,生成二维码,在线显示与下载的完整... 目录创建前端页面(Index.cshtml)后端二维码生成逻辑(Index.cshtml.cs)总结

Spring Boot项目如何使用外部application.yml配置文件启动JAR包

《SpringBoot项目如何使用外部application.yml配置文件启动JAR包》文章介绍了SpringBoot项目通过指定外部application.yml配置文件启动JAR包的方法,包括... 目录Spring Boot项目中使用外部application.yml配置文件启动JAR包一、基本原理

Springboot项目登录校验功能实现

《Springboot项目登录校验功能实现》本文介绍了Web登录校验的重要性,对比了Cookie、Session和JWT三种会话技术,分析其优缺点,并讲解了过滤器与拦截器的统一拦截方案,推荐使用JWT... 目录引言一、登录校验的基本概念二、HTTP协议的无状态性三、会话跟android踪技术1. Cook

springboot项目中集成shiro+jwt完整实例代码

《springboot项目中集成shiro+jwt完整实例代码》本文详细介绍如何在项目中集成Shiro和JWT,实现用户登录校验、token携带及接口权限管理,涉及自定义Realm、ModularRe... 目录简介目的需要的jar集成过程1.配置shiro2.创建自定义Realm2.1 LoginReal

idea Maven Springboot多模块项目打包时90%的问题及解决方案

《ideaMavenSpringboot多模块项目打包时90%的问题及解决方案》:本文主要介绍ideaMavenSpringboot多模块项目打包时90%的问题及解决方案,具有很好的参考价值,... 目录1. 前言2. 问题3. 解决办法4. jar 包冲突总结1. 前言之所以写这篇文章是因为在使用Mav

精选20个好玩又实用的的Python实战项目(有图文代码)

《精选20个好玩又实用的的Python实战项目(有图文代码)》文章介绍了20个实用Python项目,涵盖游戏开发、工具应用、图像处理、机器学习等,使用Tkinter、PIL、OpenCV、Kivy等库... 目录① 猜字游戏② 闹钟③ 骰子模拟器④ 二维码⑤ 语言检测⑥ 加密和解密⑦ URL缩短⑧ 音乐播放

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编