美文网首页
网易云信心得

网易云信心得

作者: Johnny_Chang | 来源:发表于2016-06-15 13:41 被阅读6221次

由于最近使用云信添加聊天功能,记录一下一些点避免时间久了忘记云信群聊API,基本包括了所有类  (需要学习的也就20,30个,每个内容不多)

1.NIMSDKConfig

这个修改云信Log的保存,文件保存等 一般不要就放默认的documents下的NIMSDK文件夹 NIMSDKConfig是配置类,方法有自动下载文件和文件的加密保护,设置代理方法和文件保存目录。这样一个类就这些内容

2.NIMSDK

查看版本号,appkey和证书注册,判断是否用的demokey避免出错,注册推送,当前文件保存路径,控制台log输出开启,其余的就是很多管理类

3.NIMCustomObject

自定义消息实体,attachment是id类型的附件,到时候解析文件内容都通过它来。有一个类方法是在解析自定义消息前需要创建解码器

4.所以Appdelegate开始需要做的就是上面的内容

Appdelegate 开启登陆管理类和通知中心 开启退出处理

NIMKit是很重要的一个类:@property (nonatomic,strong)    id provider;内容提供者,由上层开发者注入。

NIMKitDataProvider:app delegate需要有一个内容提供者,

初始化提供者

5.比较小的类可以直接写在一个使用它的类里面,避免文件过多

NTESDataRequest就NTESDataManager使用到

6.appdelegate(或者MainViewController)加上通知代理,随时改变tabbar角标

[[NIMSDK sharedSDK].systemNotificationManager addDelegate:self];

[[NIMSDK sharedSDK].conversationManager addDelegate:self];

extern NSString *NTESCustomNotificationCountChanged;

//    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onCustomNotifyChanged:) name:NTESCustomNotificationCountChanged object:nil];

self.sessionUnreadCount  = [NIMSDK sharedSDK].conversationManager.allUnreadCount;

self.systemUnreadCount  = [NIMSDK sharedSDK].systemNotificationManager.allUnreadCount;

self.customSystemUnreadCount = [[NTESCustomNotificationDB sharedInstance] unreadCount];

7.NTESLogManager 的start是云信log记录,使用了一个第三方iOS开源项目之日志框架CocoaLumberjack,CocoaLumberjack是Mac和iOS上一个集快捷、简单、强大和灵活于一身的日志框架。CocoaLumberjack类似于流行 的日志框架(如log4j),但它是专为Objective-C设计的,利用了多线程、GCD(如果可用)、无锁原子操作Objective-C运行时的 动态特性。连接文章 

PCH里面加上云信头文件:

#pragma mark --- 云信

#import "NIMSDK.h"

#import "NTESGlobalMacro.h"

#import "NIMKit.h"

#import#ifdef DEBUG

static DDLogLevel ddLogLevel = DDLogLevelVerbose;

#else

static DDLogLevel ddLogLevel = DDLogLevelInfo;

#endif

8.把方法写在define里

9.NTESNotificationCenter 的方法里,已经在2.4.0版本加上了新消息语音提醒

10.UIImage+NTESColor.h 类 把+ (UIImage *)imageWithColor:(UIColor *)color 方法写成了类,同时把通过color得到的图片做一个缓存NSCache,这个是不同之处, 这篇文章可以了解NSCache,它是一种字典,比字典更有优势,不用考虑线程缓存何时清理的问题。

7.深度定制化UI 

https://github.com/netease-im/NIM_iOS_UIKit

相关文章

网友评论

      本文标题:网易云信心得

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