美文网首页
网易云信心得

网易云信心得

作者: 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