历史版本更新日志
更新时间: 2025/04/01 16:38:35
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
字段读取到具体的变更数据了。 - 发送聊天室消息时,可以通过设置消息中
NIMMessageSetting
的historyEnabled
字段来控制是否存服务器历史记录。
[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:
- 3.2.0 之前:
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
- 网络通话
- 视频采集画面回调和发送,用于应用实现美颜等功能
- 音频采集画面回调和发送,用于应用实现变声等功能
- 摄像头切换完成回调,主要用于视频回调开启时,处理前置摄像头画面的镜像翻转
变更
NIMRTSRequestHandler
和NIMRTSResponseHandler
增加 参数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 等参数了。
变更
NIMNetCallOption
和NIMRTSOption
的message
参数改名为apnsContent
。
[2.0.0] - 2016-02-22
修正
- 修正重复注册 AppKey 可能导致的异常。
新增
- SDK 新增聊天室功能。
[1.8.0] - 2016-01-18
修正
- 修正拉取群成员时,本地可能没有群用户信息的问题。
- 修正系统通知中,本地没有通知关联的用户信息的问题。
- 修正录音时长不准确的问题。
- 修正消息发送者和接收者是同一人时,写入本地消息失败的问题。
- 修正无法按类型标记系统通知已读的问题。
- 修正获取云端历史消息后保存本地没有去重的问题。
- 消息设置
NIMMessageSetting
的shouldBeCounted
字段现在可以正确地影响本地写入消息是否计入未读。 - 修正在某些情况下,用真机连接Xcode后会出现连接失败的情况。
新增
-
NIMMediaManager
添加是否需要监听感应器的接口objc
- (void)setNeedProximityMonitor:(BOOL)needProximityMonitor
-
NIMNetCallManager
添加网络通话本地录制接口objc
- (BOOL)startLocalRecording:(NSURL *)filePath videoBitrate:(UInt32)videoBitrate
-
NIMLoginManager
添加强制自动登录接口。在云信中,我们推荐用户在在首次登录时使用手动登录接口,而后的登录采用非强制的自动登录模式,这种方式可以有效的规避非法异地登录带来的损害。(设备失窃或账号失窃) 非强制模式下的自动登录,服务器将检查当前登录设备是否为上一次登录设备,如果不是,服务器将拒绝这次自动登录。(返回 error code 为 417 的错误) 而强制模式下的自动登录,服务器将不检查当前登录设备是否为上一次登录设备,安全性较低。
- (void)autoLogin:(NIMAutoLoginData *)loginData
变更
-
NIMAudioObject
和NIMVideoObject
的时长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首版上线
连接管理
- 登录与退出
- 重新连接
- 连接状态事件
用户管理
- 创建用户
- 更新用户
会话消息
- 发送与接收消息
- 多媒体信息下载(图片/文件/语音等)
- 消息已读状态
- 文件收发状态
- 最近联系人列表显示与管理
- 消息记录查询与多种删除方式
普通群(类讨论组)
- 创建及解散普通群
- 添加成员
- 退出普通群
- 获取群成员列表
- 获取某帐号已加入的群列表
- 更新、发送、接收群组消息
- 群成员/资料变更事件
- 群列表变更事件
高级群(类企业群)
- 创建及解散普通群高级群
- 添加成员
- 退出高级群
- 成员权限配置
- 邀请入群
- 入群验证配置
- 踢人出群
- 获取群成员
- 群列表变更事件
- 获取群资料
- 群成员/资料变更事件
- 获取某帐号已加入的群列表
- 更新、发送、接收群消息
推送
- 推送消息事件