历史版本更新日志

更新时间: 2023/07/21 06:54:54

V5.6.0 及后续版本,请参考历史版本更新日志

[5.5.0] - 2018-08-07

新增

  • NIMSDK设置新增NOS资源场景配置字段
objc
@interface NIMSDK : NSObject

@property (nonatomic,strong)         NSMutableDictionary *sceneDict;

@end


  • 资源管理新增对场景支持的资源上传接口
objc
@protocol NIMResourceManager <NSObject>

- (void)upload:(NSString *)filepath
         scene:(NSString *)scene
      progress:(nullable NIMHttpProgressBlock)progress
    completion:(nullable NIMUploadCompleteBlock)completion;

@end


  • 图片实例对象新增场景初始化接口
objc
@interface NIMImageObject : NSObject

- (instancetype)initWithImage:(UIImage*)image scene:(NSString *)scene;

- (instancetype)initWithFilepath:(NSString *)filepath scene:(NSString *)scene;

- (instancetype)initWithData:(NSData *)data
                   extension:(NSString *)extension
                       scene:(NSString *)scene;

@end


  • 视频实例对象新增场景初始化接口
objc
@interface NIMVideoObject : NSObject

- (instancetype)initWithSourcePath:(NSString *)sourcePath scene:(NSString *)scene;

- (instancetype)initWithData:(NSData *)data
                   extension:(NSString *)extension
                       scene:(NSString *)scene;

@end


  • 语音实例对象新增场景初始化接口
objc
@interface NIMAudioObject : NSObject

- (instancetype)initWithSourcePath:(NSString *)sourcePath scene:(NSString *)scene;

- (instancetype)initWithData:(NSData *)data
                   extension:(NSString *)extension
                       scene:(NSString *)scene;

@end


  • 文件实例对象新增场景初始化接口
objc
@interface NIMFileObject : NSObject

- (instancetype)initWithSourcePath:(NSString *)sourcePath scene:(NSString *)scene;

- (instancetype)initWithData:(NSData*)data extension:(NSString*)extension scene:(NSString *)scene;

@end


  • 语音实例对象新增音频MD5字段
objc
@interface NIMAudioObject : NSObject

@property (nullable,nonatomic, copy, readonly) NSString *md5;

@end


  • 图片实例对象新增图片MD5字段
objc
@interface NIMImageObject : NSObject

@property (nullable,nonatomic, copy, readonly) NSString *md5;

@end


[5.3.0] - 2018-06-26

新增

  • 好友信息设置添加仅供服务器设置的扩展字段
objc
@interface NIMUser : NSObject

@property (nullable,nonatomic,copy,readonly)   NSString  *serverExt;

@end


  • 新增富文本推送演示

修正

  • 修复部分 bug

[5.2.2] - 2018-06-06

修正

  • 修复 SDK 某些情况下会在 armv7 机型上无法安装的问题。

[5.2.1] - 2018-05-28

修正

  • 修复调用获取云端消息接口时,如果选择了同时存储到本地,会引发的线程死锁问题。

[5.1.1] - 2018-05-23

修正

  • 5.1.0 版本 bug,现已继续支持 bitcode

[5.1.0] - 2018-05-17

新增

  • 消息中的附件下载添加取消获取附件的接口
objc/**
 *  聊天委托
 */
@protocol NIMChatManagerDelegate <NSObject>

/**
 *  取消收取消息附件
 *
 *  @param message 需要取消收取附件的消息
 *
 *  @discussion 附件包括:图片消息的图片缩略图,视频消息的视频缩略图,音频消息的音频文件,文件消息的文件以及自定义消息中的自定义文件
 *              个人和群组消息。SDK 不会触发任何下载回调
 */
- (void)cancelFetchingMessageAttachment:(NIMMessage *)message;

@end
  • 添加新的本地错误码表示用户手动取消任务
objc/**
 *  本地错误码 (IM 和通用) Domain NIMLocalErrorDomain
 */
typedef NS_ENUM(NSInteger, NIMLocalErrorCode) {
/**
     *  主动取消任务
     */
    NIMLocalErrorCodeManualCancelTask = 19,
}

变更

  • 聊天室被踢出接口现可直接获取到谁被踢的信息
objc/**
 *  聊天室管理器回调
 */
@protocol NIMChatroomManagerDelegate <NSObject>

/**
 *  被踢回调
 *
 *  @param roomId   被踢的聊天室Id
 *  @param reason   被踢原因
 */
- (void)chatroom:(NSString *)roomId beKicked:(NIMChatroomKickReason)reason;

@end

变更为

objc/**
 *  聊天室管理器回调
 */
@protocol NIMChatroomManagerDelegate <NSObject>

/**
 *  被踢回调
 *
 *  @param result   被踢的结果详情
 */
- (void)chatroomBeKicked:(NIMChatroomBeKickedResult *)result;

@end
  • 获取服务器历史消息支持根据消息类型筛选,之前该字段只对聊天室会话有效
objc/**
 *  检索服务器历史消息选项 (服务器)
 */
@interface NIMHistoryMessageSearchOption : NSObject

/**
 *  查询的消息类型
 *  @discusssion 消息类型组合,默认为 nil ,搜索全类型。一旦设置了这个字段,则 sync 字段失效,查询结果不会写入 db 。
 */
@property (nonatomic,copy)    NSArray<NSNumber *> *messageTypes;

@end

修正

  • 某些情况下,调用一些从本地获取接口时发生的线程死锁问题
  • 某些情况下,获取消息以及获取系统通知的排序不一致问题
  • 聊天室获取消息的时间戳
  • 修正不设置 messageType 搜索云端历史消息,无法搜索消息的问题

[5.0.0] - 2018-03-29

新增

  • 缓存搜索以及清理接口
objc@protocol NIMResourceManager <NSObject>

/**
 *  搜索缓存的资源文件
 *
 *  @param option       搜索选项
 *  @param completion   完成回调
 */
- (void)searchResourceFiles:(NIMResourceQueryOption *)option
              completion:(NIMResourceSearchHandler)completion;

/**
 *  删除缓存的资源文件
 *
 *  @param option       搜索选项
 *  @param completion   完成回调
 */
- (void)removeResourceFiles:(NIMResourceQueryOption *)option
              completion:(NIMResourceDeleteHandler)completion;
              
@end
  • 群组已读模块
objc@protocol NIMTeamManager <NSObject>

/**
 *  刷新群组消息已读、未读数量
 *
 *  @param NIMMessage    要查询的消息
 *  @discussion          消息已读变化后,会通过 NIMChatManager 的代理 onRecvMessageReceipts: 回调给上层
 *                       刷新的消息必须为群组消息
 */
- (void)refreshTeamMessageReceipts:(NSArray<NIMMessage *> *)messages;


/**
 *  查询群组消息回执详情
 *
 *  @param NIMMessage    要查询的消息
 *  @discussion          详情包括已读人数的 id 列表和未读人数的 id 列表
 *                       查询详情对象不会跟着回执人数变化而变化,如果要获取最新的详情,必须再次调用此接口
 *
 */
- (void)queryMessageReceiptDetail:(NIMMessage *)message
                       completion:(NIMQueryReceiptDetailBlock)completion;
                       
@end
  • 群组全员禁言接口
objc@protocol NIMTeamManager <NSObject>

/**
 *  禁言群全体成员
 *
 *  @param mute        是否禁言
 *  @param teamId      群组ID
 *  @param completion  经验操作完成后的回调
 *  @discussion   操作成功后,云信服务器会下发禁言的群通知消息
 */
- (void)updateMuteState:(BOOL)mute
                inTeam:(NSString *)teamId
            completion:(nullable NIMTeamHandler)completion;
            
@end
  • 本地反垃圾检测接口
objc@protocol NIMAntispamManager <NSObject>

/**
 *  本地反垃圾检查器
 *
 *  @param option        本地反垃圾检查选项
 *  @param error         错误提示
 *  @discussion          此扩展不会漫游到其他端,上层需要保证 NSDictionary 可以转换为 JSON。
 *  @return              本地反垃圾检查结果,本地反垃圾列表会在每次登录后同步更新
 *                       因为网络问题,或者没有登录,都会导致本地反垃圾列表无效的情况,error 中会包含具体出错原因
 */
- (NIMLocalAntiSpamCheckResult *)checkLocalAntispam:(NIMLocalAntiSpamCheckOption *)option
                                              error:(NSError **)error;
                                              
@end

变更

  • 收到消息的回执接口的变更
objc- (void)onRecvMessageReceipt:(NIMMessageReceipt *)receipt;

objc- (void)onRecvMessageReceipts:(NSArray<NIMMessageReceipt *> *)receipts;

[4.8.0] - 2018-02-08

新增

  • 保存消息到本地接口新增支持更多的消息种类 ( 除通知类型消息 )
objc- (void)saveMessage:(NIMMessage *)message
         forSession:(NIMSession *)session
         completion:(nullable NIMUpdateMessageBlock)completion;
  • 音频播发增加设置播放起点功能,可用于拖拽播放进度
objc/**
 *  设置播放音频的起始时间
 *  @param timestamp 起始时间
 *  @discussion 起始时间不能大于整个音频的时间,否则播放无效。调用此方法后,不需要再调用 play: 方法,自动播放
 */
- (BOOL)seek:(NSTimeInterval)timestamp;

修正

  • 缩略图拼接参数修正,现在会自动判断原图 URL 是否已经带有参数

[4.6.0] - 2018-01-04

新增

  • 新增在后台自动执行重连开关
objc@interface NIMSDKConfig : NSObject
/**
 *  是否禁止后台重连
 *  @discusssion 默认为 NO。即默认情况下,当程序退到后台断开连接后,如果 App 仍能运行,SDK 将继续执行自动重连机制。设置为 YES 后在后台将不自动重连,重连将被推迟到前台进行。
 *                只有特殊用户场景才需要此设置,无明确原因请勿设置。
 */
@property (nonatomic,assign)    BOOL    reconnectInBackgroundStateDisabled;
@end
  • 新增聊天室历史记录拉取可以按类型筛选字段
objc/**
 *  检索服务器历史消息选项 (服务器)
 */
@interface NIMHistoryMessageSearchOption : NSObject
/**
 *  查询的消息类型
 *  @discusssion 消息类型组合,默认为 nil ,搜索全类型。 此参数只对聊天室会话有效
 */
@property (nonatomic,copy)    NSArray<NSNumber *> *messageTypes;
@end
  • 易盾反垃圾,支持对单条消息配置对应的反垃圾业务规则,NIMAntiSpamOption 新增字段 businessId。
objc/**
 * 反垃圾选项
 * @discussion 这个选项用于配置易盾反垃圾,设置 enabled 为 YES (默认为 NO) 后该消息进投递到易盾系统进行反垃圾检测 (需要开启易盾服务)
 */
@interface NIMAntiSpamOption : NSObject
/**
 * 用户在易盾配置的额外反垃圾的业务ID
 */
@property (nullable,nonatomic,copy)     NSString    *businessId;
@end
  • 新增聊天室队列权限修改,NIMChatroomUpdateTag中新增字段 NIMChatroomUpdateTagQueueModificationLevel

修正

  • 聊天室缓存用户扩展信息,保证掉线重连后不清除

[4.4.0] - 2017-11-16

新增

  • 添加聊天室用户异常掉线或主动退出的时候自动清除队列,包含接口

    • NIMChatroomQueueUpdateRequest 添加 transient 属性
    • NIMChatroomEventType 添加枚举 NIMChatroomEventTypeQueueBatchChange
    • NIMChatroomEventInfoQueueChangeItemsKey 聊天室批量变更元素键,值为包含多个键值对的字典

修正

  • 修正清空不存在的最近会话的消息,回调上来的 NIMRecentSession 为 nil 的问题

[4.3.0] - 2017-10-12

新增

  • 聊天室独立连接,支持账户密码模式和匿名模式。具体请参考开发文档 - 聊天室 - 独立聊天室模式 章节。
  • 添加当前聊天室鉴权模式接口
objc@protocol NIMLoginManager <NSObject>
/**
*  当前 SDK 鉴权模式
*
*  @return 当前 SDK 鉴权模式
*/
- (NIMSDKAuthMode)currentAuthMode;
end
  • 添加批量清空会话未读数接口
objc@protocol NIMConversationManager <NSObject>
/**
*  设置所有会话消息为已读
*
*  @discussion 异步方法,消息会标记为设置的状态。不会触发单条 recentSession 更新的回调,但会触发回调 - (void)allMessagesRead
*/
- (void)markAllMessagesRead
@end
  • 本地消息搜索接口支持多类型消息搜索
  • 添加全局广播推送监听服务 NIMBroadcastManager
  • 高级群消息支持 "只接收管理员消息提醒" 的免打扰选项。
  • 增加是否支持动态缩略图的配置 animatedImageThumbnailEnabled
objc@protocol NIMSDKConfig NSObject
/**
*  是否支持动图缩略
*  @discusssion 默认为 NO。即默认情况下,从服务器获取原图缩略图时,如果原图为动图,我们将返回原图第一帧的缩略图。
*               而开启这个选项后,我们将返回缩略图后的动图。这个选项只影响从服务器获取的缩略图,不影响本地生成的缩略图。
*/
@property (nonatomic,assign)    BOOL   animatedImageThumbnailEnabled;
@end

变更

修改通知状态接口变更

objc (void)updateNotifyState:(BOOL)notify
                   inTeam:(NSString *)teamId
               completion:(nullable NIMTeamHandler)completion;

objc- (void)updateNotifyState:(NIMTeamNotifyState)state
                   inTeam:(NSString *)teamId
               completion:(nullable NIMTeamHandler)completion;

查询通知状态接口变更

objc- (BOOL)notifyForNewMsg:(NSString *)teamId;

objc- (void)updateNotifyState:(NIMTeamNotifyState)state
                   inTeam:(NSString *)teamId
               completion:(nullable NIMTeamHandler)completion;

[4.2.0] - 2017-09-12

新增

  • 聊天室支持 bot 机器人,使用方式与普通消息一致。

  • 添加是否将群通知计入未读的开关

objc@interface NIMSDKConfig : NSObject
/**
 *  @discusssion 默认为 NO。设置成 YES 的情况下,收到的群通知也会计入未读数
 */
@property (nonatomic,assign)    BOOL    shouldCountTeamNotification;
@end
  • 添加日志最大存在天数设置
objc@interface NIMSDKConfig : NSObject
/**
 *  @discusssion 默认为 7 天。即超过 7 天的 log 将被清除。只能设置大于等于 2 的值。
 */
@property (nonatomic,assign)    NSInteger   maximumLogDays;
@end

变更

  • 创建群接口变更
objc/**
 *  创建群组
 *
 *  @param option     创建群选项
 *  @param users      用户ID列表
 *  @param completion 完成后的回调
 */
- (void)createTeam:(NIMCreateTeamOption *)option
              users:(NSArray<NSString *> *)users
         completion:(nullable NIMTeamCreateHandler)completion;

创建群完成的回调由

objc/**
 *  创建群组block
 *
 *  @param error   错误,如果成功则error为nil
 *  @param teamId 群组ID
 */
typedef void(^NIMTeamCreateHandler)(NSError * __nullable error,NSString * __nullable teamId);

变更为

objc/**
 *  创建群组block
 *
 *  @param error   错误,如果成功则error为nil
 *  @param teamId  群组ID
 *  @param failedUserIds 邀请失败的群成员ID
 */
typedef void(^NIMTeamCreateHandler)(NSError * __nullable error, NSString * __nullable teamId, NSArray<NSString *> * __nullable failedUserIds);

现在创建群可能会出现建群成功,建群同时邀请的用户部分成功的情况。此时建群依然成功,error 信息为 nil ,并返回邀请失败的群成员 ID 集合。

[4.1.0] - 2017-08-08

新增

  • SDK 发送群自定义通知支持离线。
  • 多端登录客户端类型 NIMLoginClientType 添加 Mac 端。
  • 升级 openssl 库至 1.0.2l。
  • 添加红包管理器 NIMRedPacketManager,获取金融魔方鉴权 token 。

变更

  • 删除消息的接口变更,提供是否同时删除整个表的选项 :
objc- (void)deleteAllMessages:(BOOL)removeRecentSessions

变更为 :

objc- (void)deleteAllMessages:(NIMDeleteMessagesOption *)option

[4.0.0] - 2017-07-06

新增

  • 智能机器人功能,增加新的机器人管理器 NIMRobotManager
  • 聊天室连麦队列变更后数据同步,现在可以从 NIMChatroomNotificationContent 中的 ext 字段读取到具体的变更数据了。
  • 发送聊天室消息时,可以通过设置消息中 NIMMessageSettinghistoryEnabled 字段来控制是否存服务器历史记录。

[3.8.0] - 2017-06-06

新增

  • 聊天室针对固定成员,支持 nick, avatar 和 extension 字段的服务器存储。

  • SDK 点对点音视频接口支持 PushKit , 新增相关接口:

    • 新的 SDK 基本配置注入接口,支持填写云信 PushKit 推送证书名
    objc- (void)registerWithOption:(NIMSDKOption *)option;
    
    • 更新云信 PushKit Token
    objc- (void)updatePushKitToken:(NSData *)token;
    

[3.6.0] - 2017-04-27

新增

  • 新增事件订阅接口,可用于在线状态业务。

    • 发布事件
    objc - (void)publishEvent:(NIMSubscribeEvent *)event completion:(NIMEventSubscribeBlock)completion
      		 
    
    • 订阅事件
    objc- (void)subscribeEvent:(NIMSubscribeRequest *)request completion:(NIMEventSubscribeResponseBlock)completion
    
    • 取消订阅事件
    objc- (void)unSubscribeEvent:(NIMSubscribeRequest *)request completion:(NIMEventSubscribeResponseBlock)completion
    
    • 查询事件
    objc- (void)querySubscribeEvent:(NIMSubscribeRequest *)request completion:(NIMEventSubscribeQueryBlock)completion
    
  • SDK 数据存储优化,读写更加流畅。

  • SDK 录音播放能力优化,解决某些场景下导致的卡顿问题。

[3.5.0] - 2017-03-15

新增

  • SDK 现在以 .framework 形式提供。
  • 聊天室历史消息拉取接口支持逆向拉取。
  • 网络通话
    • 新增通话录音功能, 可以录制通话中所有参与者的声音并保存为 aac 或 wav 文件
    • 新增 alwaysKeepCalling 参数, 用于设置被叫离线时是否仍然需要持续呼叫
    • 新增录制对方音视频功能,并保存为 MP4 文件
    • 新增本地视频截图,并新增接口snapshotFromLocalVideoCompletion:
    • 点对点视频支持接通前预览

变更

  • 网络通话
    • NIMNetCallType 变为 NIMNetCallMediaType, 涉及点对点通话的 主叫发起通话被叫收到呼叫切换网络通话类型 三个接口中的通话类型参数,以及加入多人会议的 音视频类型 参数
  • MP4视频录制接口的合并调整,调整后本地录制与对端录制使用同一套接口
    • 开始录制接口从startLocalRecording:videoBitrate:变更为startRecording:videoBitrate:uid:,新增了用户 userId 参数
    • 结束录制接口从stopLocalRecording: 变更为stopRecordingWithUid:,新增了用户 userId 参数
    • 开始回调从onLocalRecordStarted:fileURL:变更为onRecordStarted:fileURL:uid: ,新增了用户 userId 参数
    • 错误回调从onLocalRecordError:callID:变更为onRecordError:callID:uid: ,新增了用户 userId 参数
    • 结束回调从onLocalRecordStopped:fileURL:变更为onRecordStopped:fileURL:uid: ,新增了用户 userId 参数

[3.4.1] - 2017-02-09

修正

  • 修复设置了 apnsPayload option 以后,发起音视频或者白板通话请求失败的问题

[3.4.0] - 2017-01-20

新增

  • 互动直播新增服务器录制参数 bypassStreamingServerRecording

变更

  • 点对点网络通话状态通知 onCall:status 变更为 以下两个接口:
    • 通话建立成功:onCallEstablished:
    • 通话异常断开:onCallDisconnected: withError:

[3.3.0] - 2016-12-28

新增

  • 最近会话更新,开发者可以更方便地添加 @ 标记,会话置顶等功能
    • NIMRecentSession 新增本地扩展字段 localExt
    • NIMConversationManager 增加本地更新接口 updateRecentLocalExt:recentSession:
  • 新增进入聊天室时重连次数设置
  • 新增进入聊天室通知的信息:
    • 禁言标记
    • 临时禁言标记
    • 临时禁言时长
  • 新增文档转码,可以在 PC 端 提交文件转码任务,将 ppt 和 pdf 等文档转码为各种清晰度的图片存储在云端,在移动端获取、下载或者删除转码后的文档
  • 网络通话
    • 新增文件混音功能,支持实时音视频中开始、暂停、恢复及停止文件混音,支持设置文件播放次数、发送音量和播放音量
    • 新增支持高清语音,提供高采样率语音,提高通话体验
    • 新增网络探测功能,可探测通话网络的连通性、丢包率和延迟等信息

[3.2.5] - 2016-12-19

新增

  • SDK 针对苹果 ATS 策略进行了适配,所有功能已经默认启用 HTTPS ,不再需要额外设置
  • 对于信息资料不托管在云信的开发者,在 NIMSDKConfig.h 中增加信息资料的 HTTPS 开关 enabledHttpsForInfo

[3.2.0] - 2016-11-30

新增

  • NIMSDKConfig.h 中增加是否需要多端同步未读数的开关 shouldSyncUnreadCount
  • 新增多人实时会话(多人白板)服务,支持单播和广播发送实时会话数据
  • 网络通话新增语音前处理开关设置,可以选择性关闭语音降噪和人声检测等功能
  • 网络通话的网络状况增加用户 id 参数,以区分不同用户的网络状况
  • 互动直播新增视频画面混屏模式设置,可以选择预设的几种混屏模式

变更

  • 消息撤回回调变更
    • 3.2.0 之前:onMessageRevoked:
    • 3.2.0 之后:onRecvRevokeMessageNotification:
  • NIMMediaManager 的回调接口和其他管理器一致为 addDelegate: 以及 removeDelegate:
  • 网络通话的网络状况回调接口从 onCall:netStatus: 变更为 onNetStatus:user:,增加了用户 id 参数
  • 网络通话的网络状况查询接口 从netStatus 变更为 netStatus:,增加了用户 id 参数
  • 实时会话数据服务器录制文件格式变化:
    • 3.2.0 之前:用户发送的数据包直接被写入文件
    • 3.2.0 之后:用户发送每一个数据包前增加包头(包长字段和时间戳字段)后再写入录制文件,格式详情请参考互动白板开发集成指南服务器录制文件格式章节
    • UI 组件提供更全面,更简洁的配置,并支持 CocoaPods

[3.1.1] - 2016-10-28

修正

  • 修正极端情况下,下载接口没有在主线程上回调的问题。

[3.1.0] - 2016-10-26

新增

  • 群/聊天室的全体禁言提醒通知以及配置读取
  • 获取群的禁言成员列表
  • 消息添加反垃圾字段

变更

  • 不再兼容 iOS 6.x 系统, 从 iOS 7.0 开始支持
  • 请把工程中依赖的系统 c++ 库从 libstdc++.6.0.9.tbd 改为 libc++.tbd

[3.0.0] - 2016-10-20

新增

  • 网络通话
    • 正在说话的用户及音量信息回调
    • 支持实时开始或结束互动直播推流

[2.9.0] - 2016-09-19

新增

  • SDK 与 Demo 全面兼容 iOS10
  • 网络通话
    • 视频采集画面回调和发送,用于应用实现美颜等功能
    • 音频采集画面回调和发送,用于应用实现变声等功能
    • 摄像头切换完成回调,主要用于视频回调开启时,处理前置摄像头画面的镜像翻转

变更

  • NIMRTSRequestHandlerNIMRTSResponseHandler 增加 参数 channelID

[2.8.0] - 2016-08-30

新增

  • 添加消息撤回功能
  • 消息添加来源字段

变更

  • 改善断网后立刻重连聊天室容易失败的问题

[2.7.0] - 2016-08-11

新增

  • 添加更新聊天室信息接口
  • 添加更新本人的聊天室成员信息接口
  • 添加获取群邀请和群踢人通知的扩展字段
  • 添加消息指定成员推送选项 (强制推送,特殊推送文案等)
  • 添加桌面端在线时,消息是否需要推送给手机端的控制开关
  • 添加聊天室通用队列服务(支持直播连麦场景使用)
  • 网络通话:支持通话中实时切换视频分辨率
  • 网络通话:新增视频发送帧率设置
  • 网络通话:多人会议新增错误回调

[2.6.0] - 2016-07-25

新增

  • 网络通话:提高视频清晰度,新增支持 720P 和 480P 两个等级;默认清晰度提高到高清
  • 网络通话:新增 iOS 8.0 以上系统视频硬件编解码支持,并可以在视频过程中实时切换软硬件编码
  • 网络通话:新增视频发送码率设置支持,并可以在视频过程中实时改变码率
  • 网络通话:新增初始摄像头位置参数,现在可以以后置摄像头开始视频聊天了
  • 网络通话/实时会话:新增通话结束时自动结束 AudioSession 开关
  • 网络通话:新增获取网络通话网络层 log 文件路径接口

变更

  • NIMNetCallMeeting 中与网络通话能力相关的参数(清晰度、裁剪、录制、旋转等)全部合并移到 option

[2.5.0] - 2016-07-08

新增

  • 添加定期清理 SDK 日志的功能
  • 添加聊天室临时禁言的接口
  • 支持转发消息
  • 网络通话新增是否自动旋转远端画面的设置 autoRotateRemoteVideo

修正

  • 修复聊天室 Tip 消息无法正常解析的问题

[2.4.0]- 2016-06-02

新增

  • 创建群添加新的配置项目
    • 头像
    • 被邀请人同意方式
    • 谁可以邀请其他人入群 (默认群主管理员)
    • 谁可以修改群资料 (默认群主管理员)
    • 谁可以修改群自定义属性 (默认群主管理员)
  • 修改群资料
    • 头像
    • 被邀请人同意方式
    • 谁可以邀请其他人入群 (默认群主管理员)
    • 谁可以修改群资料 (默认群主管理员)
    • 谁可以修改群自定义属性 (默认群主管理员)
  • 群通知
    • 头像
    • 被邀请人同意方式
    • 谁可以邀请其他人入群 (默认群主管理员)
    • 谁可以修改群资料 (默认群主管理员)
    • 谁可以修改群自定义属性 (默认群主管理员)
    • 禁言
  • 群组禁言功能
  • 修改群成员自定义属性
  • 通知消息添加控制存储的方式
  • NIMMessageSetting 添加抄送选项
  • 网络通话新增服务器录制信息回调接口 onNetCallRecordingInfo:,提供录制的音频和视频文件信息
  • 兼容 IPV6
  • 完善本地消息搜索
  • 用户接口添加静音列表变更的回调
  • 所有接口添加 nullablity 特性和泛型特性,使得 swift 接入更简单

变更

  • NIMRTSRecordingInfo 移除 serverAddress 参数
  • NIMSDKConfig 移除 hostUserInfo 参数

[2.3.0] - 2016-05-18

新增

  • 网络通话新增多人会议,支持视频会议和语音会议。
  • 网络通话支持对某用户的音频和视频静音操作。
  • 网络通话支持对端画面自动旋转。

变更

  • 请在你的xcode工程中添加 NIMSDK 的新依赖库 VideoToolbox.framework

  • NIMNetCallManager 变更 远程视频YUV数据就绪 接口 ​

    objc- (void)onRemoteYUVReady:(NSData *)yuvData
                       width:(NSUInteger)width
                      height:(NSUInteger)height
    

    增加参数user,改为

    objc- (void)onRemoteYUVReady:(NSData *)yuvData
                       width:(NSUInteger)width
                      height:(NSUInteger)height
                        from:(NSString *)user
    

[2.2.0] - 2016-04-28

修正

  • 优化音视频和白板性能。
  • 系统消息添加时间排序。
  • 修复多端同步时群消息仍旧有未读计数的bug。
  • 优化聊天室在弱网络下的连通性。
  • 修复无法创建空群名的群的问题。

新增

  • 所有多媒体消息统一提供从 NSData 进行初始化的方法。
  • 下载添加自动重试流程。
  • 网络通话新增服务端录制音频和视频开关参数。
  • 网络通话增加全国多节点、直连与中转智能网络路由探测机制。

变更

  • 统一各模块拓展信息字段。

[2.1.0] - 2016-03-24

修正

  • 提高最近会话的性能。
  • 调整内部结构,提高接口线程安全性。
  • 修复聊天室在极端情况下无法重连的问题。
  • 增加对 Data Protection 特性支持。

新增

  • 添加已读回执功能。
  • 图片消息添加一种从文件路径进行初始化的方法。
  • 网络通话和实时会话发起请求增加可定制的 APNS 推送参数,现在可以设置是否推送、推送角标处理、推送声音和 Playload 等参数了。

变更

  • NIMNetCallOptionNIMRTSOptionmessage 参数改名为 apnsContent

[2.0.0] - 2016-02-22

修正

  • 修正重复注册 AppKey 可能导致的异常。

新增

  • SDK 新增聊天室功能。

[1.8.0] - 2016-01-18

修正

  • 修正拉取群成员时,本地可能没有群用户信息的问题。
  • 修正系统通知中,本地没有通知关联的用户信息的问题。
  • 修正录音时长不准确的问题。
  • 修正消息发送者和接收者是同一人时,写入本地消息失败的问题。
  • 修正无法按类型标记系统通知已读的问题。
  • 修正获取云端历史消息后保存本地没有去重的问题。
  • 消息设置 NIMMessageSettingshouldBeCounted 字段现在可以正确地影响本地写入消息是否计入未读。
  • 修正在某些情况下,用真机连接Xcode后会出现连接失败的情况。

新增

  • NIMMediaManager 添加是否需要监听感应器的接口

    objc- (void)setNeedProximityMonitor:(BOOL)needProximityMonitor
    
  • NIMNetCallManager 添加网络通话本地录制接口

    objc- (BOOL)startLocalRecording:(NSURL *)filePath
                videoBitrate:(UInt32)videoBitrate
    
  • NIMLoginManager 添加强制自动登录接口。

    在云信中,我们推荐用户在在首次登录时使用手动登录接口,而后的登录采用非强制的自动登录模式,这种方式可以有效的规避非法异地登录带来的损害。(设备失窃或账号失窃) 非强制模式下的自动登录,服务器将检查当前登录设备是否为上一次登录设备,如果不是,服务器将拒绝这次自动登录。(返回 error code 为 417 的错误) 而强制模式下的自动登录,服务器将不检查当前登录设备是否为上一次登录设备,安全性较低。

    - (void)autoLogin:(NIMAutoLoginData *)loginData
    

变更

  • NIMAudioObjectNIMVideoObject 的时长 duration 字段目前可写。SDK会根据传入文件信息自动解析出时长,但上层也可以自己设置这个值。

  • NIMNetCallManager 变更主叫发起通话接口 和 被叫响应呼叫接口

    主叫发起通话接口:

    objc- (void)start:(NSString *)callee
          type:(NIMNetCallType)type
    completion:(NIMNetCallStartHandler)completion
    

    改为

    objc- (void)start:(NSArray *)callees
          type:(NIMNetCallType)type
        option:(NIMNetCallOption *)option
    completion:(NIMNetCallStartHandler)completion
    

    被叫响应呼叫接口:

    objc- (void)response:(UInt64)callID
           accept:(BOOL)accept
       completion:(NIMNetCallResponseHandler)completion
    

    改为

    objc- (void)response:(UInt64)callID
           accept:(BOOL)accept
           option:(NIMNetCallOption *)option
       completion:(NIMNetCallResponseHandler)completion
    

    接口新增 推送文案自定义扩展字段

    接口新增 指定期望的发送视频清晰度 参数,用于开发者不满足于默认清晰度时传入更期望的清晰度

    接口新增禁用视频裁剪参数,用于开发者不希望SDK为了优化运算性能和网络占用而裁剪发送视频

  • NIMNetCallManagerDelegate 被叫收到呼叫回调增加参数extendMessage

    被叫收到呼叫 回调接口:

    objc- (void)onReceive:(UInt64)callID
                 from:(NSString *)caller
                 type:(NIMNetCallType)type
    

    改为

    objc - (void)onReceive:(UInt64)callID
                  from:(NSString *)caller
                  type:(NIMNetCallType)type
               message:(NSString *)extendMessage
    

[1.7.1] - 2015-12-04

修正

  • 修正应用重启后无法读取消息扩展字段的问题。

[1.7.0] - 2015-12-01

修正

  • 修正录音有延迟的问题。
  • 修正音视频聊天,视频模式切换到音频模式,再回到视频,弱网下对端会累积延迟的问题。
  • 修正视频聊天切换前后摄像头以后,弱网累积延迟的问题。
  • 解决音视频文件重复发送会本地报错的问题。

新增

  • 消息是否被删除的标记 isDeleted

  • 添加 Tip 类型消息 NIMMessageTypeTip

  • 消息添加更多内容字段

    • 本地拓展字段 localExt
    • 服务器拓展字段 remoteExt
    • 推送内容字段 apnsContent
    • 推送 Payload 字段 apnsPayload
  • 消息添加服务器配置

    • 是否支持历史消息 historyEnabled
    • 是否支持漫游 roamingEnabled
    • 是否支持多端同步 syncEnabled
    • 是否需要计入未读 shouldBeCounted
    • 是否需要进行推送 apnsEnabled
    • 推送是否需要带前缀 apnsWithPrefix
  • 自定义系统通知更多内容字段

    • 推送内容字段 apnsContent
    • 推送 Payload字段 apnsPayload
  • 自定义系统通知添加服务器配置

    • 是否需要计入未读 shouldBeCounted
    • 是否需要进行推送 apnsEnabled
    • 推送是否需要带前缀 apnsWithPrefix
  • 支持通过 message Id 获取消息

    objc- (NSArray *)messagesInSession:(NIMSession *)session
                      messageIds:(NSArray *)messageIds;
    
  • 系统通知支持按照类型进行操作,新增接口

    1.按类型获取本地系统通知

    objc- (NSArray *)fetchSystemNotifications:(NIMSystemNotification *)notification
                                  limit:(NSInteger)limit
                                 filter:(NIMSystemNotificationFilter *)filter;
    

    2.按类型获取系统通知未读数

    objc- (NSInteger)allUnreadCount:(NIMSystemNotificationFilter *)filter;
    

    3.删除所有命中过滤器的系统消息

    objc- (void)deleteAllNotifications:(NIMSystemNotificationFilter *)filter;
    

    4.标记所有命中过滤器的系统消息为已读

    objc- (void)markAllNotificationsAsRead:(NIMSystemNotificationFilter *)filter;
    
  • 增加好友关系字段

    • 备注名 alias
    • 扩展字段 ext

变更

  • 自定义消息下载托管时的下载路径现在由用户自定义

    objc- (void)updateDownloadAttachmentPath:(NSString *)path;
    

    变更为

    objc- (NSString *)attachmentPathForDownloading;
    

[1.6.0] - 2015-11-02

修正

  • 修正iPhone4 音视频通话闪退的问题。

新增

  • 创建群时允许同时设置客户端自定义信息。

变更

  • 现在允许开发者写入消息的来源字段from。个人会话中的from限制为当前sessionId或者当前用户Id。

[1.5.0] - 2015-09-29

新增

  • 用户信息托管
  • 自定义消息下载托管
  • 新增支持文本消息直接写入数据库
  • 增加bitcode编译选项,更好地支持XCode7和iOS9
  • 视频聊天增加接口 -(void)onRemoteYUVReady:width:height:
  • 可以用得到的yuv数据直接OpenGL渲染远程画面
  • 优化了弱网络下的视频聊天体验
  • 开源UI组件,新增联系人选择器、群名片。

变更

  • 部分接口命名调整

设置一个会话里所有消息置为已读

objc- (void)markAllMessageReadInSession:(NIMSession *)session

改为

objc- (void)markAllMessagesReadInSession:(NIMSession *)session

获取所有最近会话

objc- (NSArray*)allRecentSession

改为

objc- (NSArray*)allRecentSessions

标记单条系统消息为已读

objc- (void)markNotificationAsRead:(NIMSystemNotification *)notification

改为

objc- (void)markNotificationsAsRead:(NIMSystemNotification *)notification

标记所有系统消息为已读

objc- (void)markAllNotificationAsRead

改为

objc- (void)markAllNotificationsAsRead

[1.4.0] - 2015-09-02

新增

  • 好友系统
  • 黑名单接口
  • 消息提醒接口
  • 开源 UI 组件,帮助你更快实现 IM 模块

变更

[1.3.0] - 2015-07-31

新增

  • 搜索本地消息记录接口
  • 语音转文字接口
  • apns 推送支持更多的自定义属性

变更

  • 自定义消息调整接口,接口更灵活,并支持托管上传功能

[1.2.0] - 2015-06-23

新增

  • 消息多端同步
  • 自定义推送设置
  • 群免打扰开关
  • 支持自动登录

变更

  • 会话回调调整

所有新增会话调用

objc- (void)didAddRecentSession:(NIMRecentSession *)recentSession

其它更新会话则调用

objc- (void)didUpdateRecentSession:(NIMRecentSession *)recentSession
              totalUnreadCount:(NSInteger)totalUnreadCount

[1.1.0] - 2015-05-25

新增

  • 网络通话
  • 网络视频
  • 聊天历史消息云端存储及查询功能(按需存储)
  • 多端登录同步通知功能

变更

  • 高级群群成员实时同步
  • 支持自定义群组功能
  • 添加文件消息类型
  • 从云端查询消息历史功能,查询接口可选择合并到本地
  • 新消息通知栏提醒的文案改为可自定义
  • 调整透传指令和自定义通知的接口

网易云信IM SDK首版上线

连接管理

  • 登录与退出
  • 重新连接
  • 连接状态事件

用户管理

  • 创建用户
  • 更新用户

会话消息

  • 发送与接收消息
  • 多媒体信息下载(图片/文件/语音等)
  • 消息已读状态
  • 文件收发状态
  • 最近联系人列表显示与管理
  • 消息记录查询与多种删除方式

普通群(类讨论组)

  • 创建及解散普通群
  • 添加成员
  • 退出普通群
  • 获取群成员列表
  • 获取某帐号已加入的群列表
  • 更新、发送、接收群组消息
  • 群成员/资料变更事件
  • 群列表变更事件

高级群(类企业群)

  • 创建及解散普通群高级群
  • 添加成员
  • 退出高级群
  • 成员权限配置
  • 邀请入群
  • 入群验证配置
  • 踢人出群
  • 获取群成员
  • 群列表变更事件
  • 获取群资料
  • 群成员/资料变更事件
  • 获取某帐号已加入的群列表
  • 更新、发送、接收群消息

推送

  • 推送消息事件
此文档是否对你有帮助?
有帮助
去反馈
  • [5.5.0] - 2018-08-07
  • 新增
  • [5.3.0] - 2018-06-26
  • 新增
  • 修正
  • [5.2.2] - 2018-06-06
  • 修正
  • [5.2.1] - 2018-05-28
  • 修正
  • [5.1.1] - 2018-05-23
  • 修正
  • [5.1.0] - 2018-05-17
  • 新增
  • 变更
  • 修正
  • [5.0.0] - 2018-03-29
  • 新增
  • 变更
  • [4.8.0] - 2018-02-08
  • 新增
  • 修正
  • [4.6.0] - 2018-01-04
  • 新增
  • 修正
  • [4.4.0] - 2017-11-16
  • 新增
  • 修正
  • [4.3.0] - 2017-10-12
  • 新增
  • 变更
  • [4.2.0] - 2017-09-12
  • 新增
  • 变更
  • [4.1.0] - 2017-08-08
  • 新增
  • 变更
  • [4.0.0] - 2017-07-06
  • 新增
  • [3.8.0] - 2017-06-06
  • 新增
  • [3.6.0] - 2017-04-27
  • 新增
  • [3.5.0] - 2017-03-15
  • 新增
  • 变更
  • [3.4.1] - 2017-02-09
  • 修正
  • [3.4.0] - 2017-01-20
  • 新增
  • 变更
  • [3.3.0] - 2016-12-28
  • 新增
  • [3.2.5] - 2016-12-19
  • 新增
  • [3.2.0] - 2016-11-30
  • 新增
  • 变更
  • [3.1.1] - 2016-10-28
  • 修正
  • [3.1.0] - 2016-10-26
  • 新增
  • 变更
  • [3.0.0] - 2016-10-20
  • 新增
  • [2.9.0] - 2016-09-19
  • 新增
  • 变更
  • [2.8.0] - 2016-08-30
  • 新增
  • 变更
  • [2.7.0] - 2016-08-11
  • 新增
  • [2.6.0] - 2016-07-25
  • 新增
  • 变更
  • [2.5.0] - 2016-07-08
  • 新增
  • 修正
  • [2.4.0]- 2016-06-02
  • 新增
  • 变更
  • [2.3.0] - 2016-05-18
  • 新增
  • 变更
  • [2.2.0] - 2016-04-28
  • 修正
  • 新增
  • 变更
  • [2.1.0] - 2016-03-24
  • 修正
  • 新增
  • 变更
  • [2.0.0] - 2016-02-22
  • 修正
  • 新增
  • [1.8.0] - 2016-01-18
  • 修正
  • 新增
  • 变更
  • [1.7.1] - 2015-12-04
  • 修正
  • [1.7.0] - 2015-12-01
  • 修正
  • 新增
  • 变更
  • [1.6.0] - 2015-11-02
  • 修正
  • 新增
  • 变更
  • [1.5.0] - 2015-09-29
  • 新增
  • 变更
  • [1.4.0] - 2015-09-02
  • 新增
  • 变更
  • [1.3.0] - 2015-07-31
  • 新增
  • 变更
  • [1.2.0] - 2015-06-23
  • 新增
  • 变更
  • [1.1.0] - 2015-05-25
  • 新增
  • 变更
  • 网易云信IM SDK首版上线
  • 连接管理
  • 用户管理
  • 会话消息
  • 普通群(类讨论组)
  • 高级群(类企业群)
  • 推送