NIMSDKConfig Class Reference

Inherits from NSObject
Declared in NIMSDKConfig.h

Overview

NIM SDK 配置项目

+ sharedConfig

返回配置项实例

+ (instancetype)sharedConfig

Return Value

配置项

Discussion

返回配置项实例

Declared In

NIMSDKConfig.h

  disableTraceroute

设置禁用NIMSDK tracroute 能力

@property (nonatomic, assign) BOOL disableTraceroute

Discussion

设置禁用NIMSDK tracroute 能力

默认为NO,SDK会在请求失败时,进行 traceroute ,探测网路中各节点,以判断在哪个节点失去连接

Declared In

NIMSDKConfig.h

  fetchAttachmentAutomaticallyAfterReceiving

是否在收到消息后自动下载附件 (群和个人)

@property (nonatomic, assign) BOOL fetchAttachmentAutomaticallyAfterReceiving

Discussion

是否在收到消息后自动下载附件 (群和个人)

默认为YES,SDK会在第一次收到消息是直接下载消息附件,上层开发可以根据自己的需要进行设置

Declared In

NIMSDKConfig.h

  fetchAttachmentAutomaticallyAfterReceivingInChatroom

是否在收到聊天室消息后自动下载附件

@property (nonatomic, assign) BOOL fetchAttachmentAutomaticallyAfterReceivingInChatroom

Discussion

是否在收到聊天室消息后自动下载附件

默认为NO

Declared In

NIMSDKConfig.h

  fileProtectionNone

是否使用 NSFileProtectionNone 作为云信文件的 NSProtectionKey

@property (nonatomic, assign) BOOL fileProtectionNone

Discussion

是否使用 NSFileProtectionNone 作为云信文件的 NSProtectionKey

默认为 NO,只有在上层 APP 开启了 Data Protection 时才起效

Declared In

NIMSDKConfig.h

  shouldConsiderRevokedMessageUnreadCount

是否需要将被撤回的消息计入未读计算考虑

@property (nonatomic, assign) BOOL shouldConsiderRevokedMessageUnreadCount

Discussion

是否需要将被撤回的消息计入未读计算考虑

默认为 NO。设置成 YES 的情况下,如果被撤回的消息本地还未读,那么当消息发生撤回时,对应会话的未读计数将减 1 以保持最近会话未读数的一致性 默认未读 NO 的原因是客户端常常需要直接再写入一条 tip 消息用于提醒显示,使用 NO 作为默认值直接写入一条已读 tip 消息,避免未读计数发生两次变化,最终导致界面重复刷新 如果客户场景不需要写入 tip 消息,可以设置为 YES,以保持未读计数的一致性。

Declared In

NIMSDKConfig.h

  shouldSyncUnreadCount

是否需要多端同步未读数 @discusssion 默认为 NO。设置成 YES 的情况下,同个账号多端(PC 和 移动端等)将同步未读计数。

@property (nonatomic, assign) BOOL shouldSyncUnreadCount

Discussion

是否需要多端同步未读数 @discusssion 默认为 NO。设置成 YES 的情况下,同个账号多端(PC 和 移动端等)将同步未读计数。

Declared In

NIMSDKConfig.h

  shouldCountTeamNotification

是否将群通知计入未读 @discusssion 默认为 NO。设置成 YES 的情况下,收到的群通知也会计入未读数

@property (nonatomic, assign) BOOL shouldCountTeamNotification

Discussion

是否将群通知计入未读 @discusssion 默认为 NO。设置成 YES 的情况下,收到的群通知也会计入未读数

Declared In

NIMSDKConfig.h

  enabledHttpsForInfo

针对用户信息开启 https 支持 @discusssion 默认为 YES。在默认情况下,我们认为用户头像,群头像,聊天室类用户头像等信息都是默认托管在云信上,所以 SDK 会针对他们自动开启 https 支持。 但如果你需要将这些信息都托管在自己的服务器上,需要设置这个接口为 NO,避免 SDK 自动将你的 http url 自动转换为 https url。

@property (nonatomic, assign) BOOL enabledHttpsForInfo

Discussion

针对用户信息开启 https 支持 @discusssion 默认为 YES。在默认情况下,我们认为用户头像,群头像,聊天室类用户头像等信息都是默认托管在云信上,所以 SDK 会针对他们自动开启 https 支持。 但如果你需要将这些信息都托管在自己的服务器上,需要设置这个接口为 NO,避免 SDK 自动将你的 http url 自动转换为 https url。

Declared In

NIMSDKConfig.h

  enabledHttpsForMessage

针对消息内容开启 https 支持 @discusssion 默认为 YES。在默认情况下,我们认为消息,包括图片,视频,音频信息都是默认托管在云信上,所以 SDK 会针对他们自动开启 https 支持。 但如果你需要将这些信息都托管在自己的服务器上,需要设置这个接口为 NO,避免 SDK 自动将你的 http url 自动转换为 https url。 (强烈不建议) 需要注意的是即时设置了这个属性,通过 iOS SDK 发出去的消息 URL 仍是 https 的,设置这个值只影响接收到的消息 URL 格式转换

@property (nonatomic, assign) BOOL enabledHttpsForMessage

Discussion

针对消息内容开启 https 支持 @discusssion 默认为 YES。在默认情况下,我们认为消息,包括图片,视频,音频信息都是默认托管在云信上,所以 SDK 会针对他们自动开启 https 支持。 但如果你需要将这些信息都托管在自己的服务器上,需要设置这个接口为 NO,避免 SDK 自动将你的 http url 自动转换为 https url。 (强烈不建议) 需要注意的是即时设置了这个属性,通过 iOS SDK 发出去的消息 URL 仍是 https 的,设置这个值只影响接收到的消息 URL 格式转换

Declared In

NIMSDKConfig.h

  maxAutoLoginRetryTimes

自动登录重试次数 @discusssion 默认为 0。即默认情况下,自动登录将无限重试。设置成大于 0 的值后,在没有登录成功前,自动登录将重试最多 maxAutoLoginRetryTimes 次,如果失败,则抛出错误 (NIMLocalErrorCodeAutoLoginRetryLimit)。

@property (nonatomic, assign) NSInteger maxAutoLoginRetryTimes

Discussion

自动登录重试次数 @discusssion 默认为 0。即默认情况下,自动登录将无限重试。设置成大于 0 的值后,在没有登录成功前,自动登录将重试最多 maxAutoLoginRetryTimes 次,如果失败,则抛出错误 (NIMLocalErrorCodeAutoLoginRetryLimit)。

Declared In

NIMSDKConfig.h

  maximumLogDays

本地 log 存活期 @discusssion 默认为 7 天。即超过 7 天的 log 将被清除。只能设置大于等于 2 的值。

@property (nonatomic, assign) NSInteger maximumLogDays

Discussion

本地 log 存活期 @discusssion 默认为 7 天。即超过 7 天的 log 将被清除。只能设置大于等于 2 的值。

Declared In

NIMSDKConfig.h

  animatedImageThumbnailEnabled

是否支持动图缩略 @discusssion 默认为 NO。即默认情况下,从服务器获取原图缩略图时,如果原图为动图,我们将返回原图第一帧的缩略图。 而开启这个选项后,我们将返回缩略图后的动图。这个选项只影响从服务器获取的缩略图,不影响本地生成的缩略图。

@property (nonatomic, assign) BOOL animatedImageThumbnailEnabled

Discussion

是否支持动图缩略 @discusssion 默认为 NO。即默认情况下,从服务器获取原图缩略图时,如果原图为动图,我们将返回原图第一帧的缩略图。 而开启这个选项后,我们将返回缩略图后的动图。这个选项只影响从服务器获取的缩略图,不影响本地生成的缩略图。

Declared In

NIMSDKConfig.h

  reconnectInBackgroundStateDisabled

是否禁止后台重连 @discusssion 默认为 NO。即默认情况下,当程序退到后台断开连接后,如果 App 仍能运行,SDK 将继续执行自动重连机制。设置为 YES 后在后台将不自动重连,重连将被推迟到前台进行。 只有特殊用户场景才需要此设置,无明确原因请勿设置。

@property (nonatomic, assign) BOOL reconnectInBackgroundStateDisabled

Discussion

是否禁止后台重连 @discusssion 默认为 NO。即默认情况下,当程序退到后台断开连接后,如果 App 仍能运行,SDK 将继续执行自动重连机制。设置为 YES 后在后台将不自动重连,重连将被推迟到前台进行。 只有特殊用户场景才需要此设置,无明确原因请勿设置。

Declared In

NIMSDKConfig.h

  teamReceiptEnabled

是否开启群回执功能 @discusssion 默认为 NO。

@property (nonatomic, assign) BOOL teamReceiptEnabled

Discussion

是否开启群回执功能 @discusssion 默认为 NO。

Declared In

NIMSDKConfig.h

  delegate

配置项委托

@property (nullable, nonatomic, weak) id<NIMSDKConfigDelegate> delegate

Discussion

配置项委托

Declared In

NIMSDKConfig.h

  customTag

客户端自定义信息,用于多端登录时同步该信息

@property (nonatomic, copy) NSString *customTag

Discussion

客户端自定义信息,用于多端登录时同步该信息

Declared In

NIMSDKConfig.h

  fileQuickTransferEnabled

文件快传本地开关,默认YES

@property (nonatomic, assign) BOOL fileQuickTransferEnabled

Discussion

文件快传本地开关,默认YES

Declared In

NIMSDKConfig.h

  exceptionOptimizationEnabled

是否开启异常错误上报, 默认 NO,不上报

@property (nonatomic, assign) BOOL exceptionOptimizationEnabled

Discussion

是否开启异常错误上报, 默认 NO,不上报

用户可以选择开启该选项,方便云信分析SDK发生的错误,优化SDK

Declared In

NIMSDKConfig.h

  asyncLoadRecentSessionEnabled

是否开启异步读取最近会话,默认NO,不开启

@property (nonatomic, assign) BOOL asyncLoadRecentSessionEnabled

Discussion

是否开启异步读取最近会话,默认NO,不开启

对于最近会话比较多的用户,初始读取数据库时,可能影响到启动速度,用户可以选择开启该选项,开启异步读取最近会话, allRecentSessions会优先返回一部分最近会话,等到全部读取完成时,通过回调通知用户刷新UI。

Declared In

NIMSDKConfig.h

  sessionDatabaseBackupEnabled

是否开启会话数据库备份,默认NO,不开启

@property (nonatomic, assign) BOOL sessionDatabaseBackupEnabled

Discussion

是否开启会话数据库备份,默认NO,不开启

开启数据库备份后,如果遇到数据库文件损坏,SDK会恢复备份的数据库文件,并重置漫游时间戳

Declared In

NIMSDKConfig.h

  maxUploadLogSize

日志上传大小上限,默认 0,不限制,单位(byte)

@property (nonatomic, assign) unsigned long long maxUploadLogSize

Discussion

日志上传大小上限,默认 0,不限制,单位(byte)

Declared In

NIMSDKConfig.h

  shouldSyncStickTopSessionInfos

是否同步置顶会话记录,默认NO

@property (nonatomic, assign) BOOL shouldSyncStickTopSessionInfos

Discussion

是否同步置顶会话记录,默认NO

Declared In

NIMSDKConfig.h

  customClientType

客户端自定义登录端类型,默认 0,需要设置大于0的值。

@property (nonatomic, assign) NSInteger customClientType

Discussion

客户端自定义登录端类型,默认 0,需要设置大于0的值。

Declared In

NIMSDKConfig.h

  cdnTrackInterval

cdn统计回调触发间隔。触发cdn拉流前设置,触发拉流后改动将不生效。0s代表不统计。默认30s。

@property (nonatomic, assign) NSTimeInterval cdnTrackInterval

Discussion

cdn统计回调触发间隔。触发cdn拉流前设置,触发拉流后改动将不生效。0s代表不统计。默认30s。

Declared In

NIMSDKConfig.h

  chatroomMessageReceiveMinInterval

聊天室消息接收回调最小时间间隔,不设置时,采用默认值 @discusssion SDK采纳的有效设置区间为:50毫秒到500毫秒,如果低于或高于边界值,采用边界值

@property (nonatomic, assign) NSTimeInterval chatroomMessageReceiveMinInterval

Discussion

聊天室消息接收回调最小时间间隔,不设置时,采用默认值 @discusssion SDK采纳的有效设置区间为:50毫秒到500毫秒,如果低于或高于边界值,采用边界值

Declared In

NIMSDKConfig.h

  optimizeSettings

NIMSDK优化设置

@property (nullable, nonatomic, copy) NSString *optimizeSettings

Discussion

NIMSDK优化设置

此选项为高级设置,具体设置需要联系技术支持。

Declared In

NIMSDKConfig.h

– setupSDKDir:

设置 SDK 根目录

- (void)setupSDKDir:(NSString *)sdkDir

Parameters

sdkDir

SDK 根目录

Discussion

设置 SDK 根目录

设置该值后 SDK 产生的数据(包括聊天记录,但不包括临时文件)都将放置在这个目录下,如果不设置,所有数据将放置于 $Document/NIMSDK目录下 该配置项必须在 NIMSDK 任一一个 sharedSDK 方法调用之前调用,否则配置无法生效

Declared In

NIMSDKConfig.h

  msgIndexProducer

消息索引生成委托

@property (nullable, nonatomic) id<NIMMsgIndexProduceDelegate> msgIndexProducer

Discussion

消息索引生成委托

Declared In

NIMSDKConfig.h