NIMSDK-AOS  9.15.0
Public 属性 | 静态 Public 属性 | 所有成员列表
com.netease.nimlib.sdk.SDKOptions类 参考

可自定义的 SDK 选项设置。 更多...

Public 属性

String appKey
 设置云信 SDK 的 AppKey。
AppKey 还可以通过在 AndroidManifest 文件中,通过 meta-data 的方式设置,如果两处都设置了,取此处的值。
一个 AppKey 对应一个账号体系,AppKey 的取值优先级为:LoginInfo中的>SDKOptions 中的>AndroidManifest 中的 AppKey。 更多...
 
AuthProvider authProvider
 IM 登录时的Token回调接口 注意:使用动态登录(即LoginInfo.authType为1)时,必须设置 更多...
 
LoginExtProvider loginExtProvider
 IM登陆时的LoginExt回调接口 更多...
 
ChatRoomAuthProvider chatroomAuthProvider
 聊天室登陆时的Token回调接口 注意:聊天室使用动态登录(即LoginInfo.authType为1)时,必须设置 更多...
 
ChatRoomLoginExtProvider chatroomLoginExtProvider
 聊天室登陆时的LoginExt回调接口 更多...
 
boolean useAssetServerAddressConfig = false
 是否检查并使用 Asset 目录下的私有化服务器配置文件 server.conf(固定命名), 默认是 false,即不开启。 更多...
 
StatusBarNotificationConfig statusBarNotificationConfig
 通知栏提醒功能。默认为 null,表示 SDK 不提供状态栏提醒功能,由用户 APP自行实现。 更多...
 
UserInfoProvider userInfoProvider
 用户信息提供者,由开发者提供给 NIM SDK 使用,主要用于通知栏显示的用户昵称和头像。 更多...
 
MessageNotifierCustomization messageNotifierCustomization
 定制通知栏消息提醒的文案,包括內容文案(主要在通知栏下拉后展现其通知内容),Ticker文案(主要在通知栏弹框提醒时的内容)以及消息撤回时的提醒文案。 更多...
 
String sdkStorageRootPath
 外置存储根目录,用于存放多媒体消息文件。若不设置或设置的路径不可用,将使用"external storage root/packageName/nim/"作为根目录。 更多...
 
String databaseEncryptKey
 数据库加密密钥,用于消息数据库加密。如果不设置,数据库处于明文状态; 设置后,数据库会加密保存数据,之前明文保存的历史数据也会被转为加密保存。 更多...
 
boolean preloadAttach = true
 是否需要 SDK 自动预加载多媒体消息的附件。默认为 true,即 SDK 收到多媒体消息后,图片和视频会自动下载缩略图,音频会自动下载文件。如果关闭,第三方 APP 可以设置是否需要下载以及何时下载附件内容。 更多...
 
int thumbnailSize = 350
 消息缩略图的尺寸,默认为 350 像素。
该值为最长边的大小。下载的缩略图最长边不会超过该值。 更多...
 
boolean sessionReadAck = false
 是否开启会话已读多端同步,默认 false,即不支持多端同步会话未读数。 更多...
 
boolean improveSDKProcessPriority = true
 是否提高 NIM SDK 进程优先级,默认为 true,表示提高 NIM SDK 进程优先级,可以降低 NIM SDK 核心进程被系统回收的概率。 更多...
 
ServerAddresses serverConfig
 配置专属服务器的地址,常用于私有化部署。 更多...
 
boolean preLoadServers = true
 预加载服务,默认为 true,表示开启预加载服务,预加载连接可以优化登录流程,提升用户体验。不建议设置为 false。 更多...
 
boolean teamNotificationMessageMarkUnread = false
 群通知消息是否计入未读数,默认为 false,即默认群消息不计入未读数。 更多...
 
boolean useXLog = false
 是否使用性能更好的 SDK 日志模式。默认为 false,即默认使用普通日志模式。 更多...
 
boolean animatedImageThumbnailEnabled = false
 是否支持动态缩略图。默认为 NO,即 NOS 对动图缩放流程为截取第一帧并缩放返回。
若设置为 YES, SDK 在请求缩略图时候将直接下载动图。 更多...
 
boolean asyncInitSDK = false
 是否支持异步初始化 SDK,默认同步初始化 SDK。 更多...
 
boolean reducedIM = false
 是否为弱 IM 场景,默认为 false,即强 IM 场景。
如果您的应用仅需在其部分业务中使用 IM 能力(不需要在应用启动时就做 IM 自动登录),且并不需要保证消息、通知和数据的实时性的场景(例如需要用户授权隐私信息采集的业务场景),那么可填 true,使用弱 IM 场景。非弱 IM 场景慎用! 更多...
 
boolean checkManifestConfig = false
 是否在 SDK 初始化时检查 Manifest 文件配置是否完成,默认为 false,不检查。 更多...
 
MixPushConfig mixPushConfig
 第三方离线推送配置。包括配置第三方推送证书的信息,以及是否根据token自动选择推送类型策略。
目前 NIM SDK 支持的第三方推送厂商包括:小米、华为、荣耀、魅族、vivo、OPPO、以及谷歌 FCM。 更多...
 
boolean enableBackOffReconnectStrategy = true
 是否使用随机退避重连策略,默认为 true,开启。强烈建议开启。如需关闭,请咨询云信技术支持。 更多...
 
ReconnectStrategy reconnectStrategy
 自动登录失败后的重连机制。云信默认的自动重连策略为:自动登录失败后,默认 2 秒后触发重连,如果一直连不上,重连时间指数级增长,2、4、6、8、16、32、64...
如果需要自行配置重连时间,可联系技术支持开启此功能进行配置。 更多...
 
boolean enableLBSOptimize = true
 是否启用网络连接优化策略,默认为 true,开启网络链接优化策略。 更多...
 
boolean enableTeamMsgAck = false
 是否启用群消息已读功能,默认为 false,即关闭群消息已读功能。 更多...
 
boolean shouldConsiderRevokedMessageUnreadCount
 是否需要将被撤回的消息计入未读数,默认为 false,即撤回消息不影响未读数。
客户端通常直接写入一条 Tip 消息,用于提醒"对方撤回了一条消息",该消息也不计入未读数,不影响当前会话的未读数。
如果设置为 true,撤回消息后未读数将减 1。 更多...
 
NosTokenSceneConfig mNosTokenSceneConfig
 SDK 的 NOS Token 场景配置,对于 NOS Token,云信 SDK 有默认值 ,若用户不单独配置,则直接采用默认值。 更多...
 
boolean enableFcs = true
 是否开启融合存储,默认为 true,即开启融合存储功能。
开启融合存储后,SDK 在应用收到文件消息会自动启用 CDN 加速选择最快的节点进行存储,将文件消息存储到 AWS 服务器或网易对象存储(NetEase Object Storage, NOS)服务器上。
如果您的应用涉及海外业务,则建议开启融合存储。 更多...
 
FcsDownloadAuthStrategy fcsDownloadAuthStrategy
 NOS 下载鉴权策略,用户可以自定义鉴权方式,如需使用该功能,请咨询云信技术支持。 更多...
 
boolean useNtServer = true
 是否开启运行时的异常统计,默认开启。 更多...
 
String loginCustomTag
 登录时的自定义字段,登录成功后同步给其他端,可以通过 com.netease.nimlib.sdk.auth.AuthServiceObserver#observeOtherClients(Observer, boolean) 获取该字段。 更多...
 
boolean disableAwake = false
 禁止后台进程唤醒 UI 进程,默认为 false。 更多...
 
long fetchServerTimeInterval = 2000L
 获取服务器时间的连续请求间隔时间,默认 2000ms,最小 1000ms。 更多...
 
boolean reportImLog = false
 (功能已下线)是否开启IM日志自动上报 更多...
 
String customPushContentType = ""
 离线推送不显示详情(MixPushService::setPushShowNoDetail)时,显示的自定义推送文案类型(对应控制台中的自定义推送文案类型名称)。 更多...
 
RecentContactContentSource recentContactContentSource = RecentContactContentSource.MessageTypeTipPreferred
 最近会话(RecentContact)中内容(content 字段)的来源,默认为 MessageTypeTipPreferred。 更多...
 
boolean notifyStickTopSession = false
 是否同步置顶会话,默认为 false,即不同步置顶会话。 更多...
 
boolean enableForegroundService = false
 当 NIM Service 启动失败时,是否尝试以前台服务的方式启动,默认为 false。 更多...
 
int cdnRequestDataInterval = 3000
 CDN 数据上报的回调间隔时间,默认 3000ms。 更多...
 
boolean rollbackSQLCipher = false
 是否支持回滚 SQLCipher 加密的数据库,默认为 false,即不支持回滚。 更多...
 
int coreProcessStartTimeout = -1
 Core 进程启动的超时时间(单位:ms),默认为 15s。 更多...
 
boolean clearTimeTagAtBeginning = false
 是否重置同步时间戳,启动时重置一次,默认为 false,即不重置。该功能不建议开启,如需开启该功能,请联系云信技术支持。 更多...
 
boolean enableDatabaseBackup = false
 是否开启数据库备份功能,默认为 false,即不备份。 更多...
 
CaptureDeviceInfoConfig captureDeviceInfoConfig = new CaptureDeviceInfoConfig(true, true, true)
 设备信息获取的配置,包括是否获取产品型号、是否获取制造商信息以及是否获取品牌信息等。null 表示都可以获取。
不获取设备信息可能影响 NIM SDK 功能的使用。如需使用,请联系云信技术支持。 更多...
 
SecondTimeoutConfig secondTimeoutForSendMessage
 是否配置发送消息的第二超时时间,即发送超时(对应的状态为 408)后等待回包的时间,默认为 0。
该配置属于特殊功能,如需使用该功能,请联系云信技术支持。 更多...
 
boolean enableRecentContactsTimeIndex = false
 是否开启最近联系人会话时间索引,默认为 false,即不开启。 更多...
 
String flutterSdkVersion
 Flutter NIM SDK 的版本号。 更多...
 
NotificationChannelProvider notificationChannelProvider
 配置通知要走的通道(ChannelId),若不配置,则根据响铃振动走对应的默认通道。 更多...
 
boolean enableChatRoomLocation = false
 是否开启聊天室空间消息功能,默认为 false,即不开启。如需要使用该功能,请联系云信技术支持。
SDK 在 8.11.0 中新增了空间消息能力,用于在部分基于空间坐标的场景下给指定范围内的用户发送消息,如某游戏地图内指定范围的区域。在加入聊天室时,可以预设一个坐标位置来加入房间,并且可以订阅接收多少距离内的消息。 更多...
 
LogDesensitizationConfig logDesensitizationConfig
 /** 日志脱敏配置,即设置是否隐藏涉及下载域名地址的日志信息。 更多...
 
boolean enableLoseConnection = false
 是否开启 loseConnection。 更多...
 
long qChatTypingEventMinInterval = MIN_MSG_TYPING_EVENT_INTERVAL
 圈组发送正在输入事件的最小间隔,默认的最小间隔为 3000ms,设置小于 3000ms无效。 更多...
 
boolean enabledQChatMessageCache = false
 是否支持圈组消息缓存,默认为 false,即不开启。
开启消息缓存后,可以为100个频道(QChatChannel)缓存消息,每个频道最多缓存 20 条。 更多...
 
boolean fixMsgStatusByBlackList = false
 默认false,如果为true,则消息状态是否成功会结合是否被拉入黑名单进行判断 更多...
 
SyncConfig syncConfig = new SyncConfig.Builder().build()
 数据同步配置。可设置是否在初始化时同步群成员以及超大群成员的信息,默认都为 true。 true:同步;false:不同步 更多...
 
boolean qchatAutoSubscribe = false
 是否开启圈组自动订阅,默认为 false。 true:开启圈组自动订阅;false:关闭圈组自动订阅 更多...
 
boolean disableReport
 
boolean reportIgnoredMessage = false
 是否开启“被过滤消息”的数据上报,默认为 false,即不开启。 true:被过滤的消息要上报;false:被过滤的消息不上报 更多...
 

静态 Public 属性

static final SDKOptions DEFAULT = new SDKOptions()
 使用 SDK 默认的选项配置。 更多...
 
static final long MIN_MSG_TYPING_EVENT_INTERVAL = 3000L
 正在输入事件发送最小间隔,默认为 3000 ms。 更多...
 

详细描述

可自定义的 SDK 选项设置。

在文件 SDKOptions.java20 行定义.

类成员变量说明

◆ animatedImageThumbnailEnabled

boolean com.netease.nimlib.sdk.SDKOptions.animatedImageThumbnailEnabled = false

是否支持动态缩略图。默认为 NO,即 NOS 对动图缩放流程为截取第一帧并缩放返回。
若设置为 YES, SDK 在请求缩略图时候将直接下载动图。

在文件 SDKOptions.java143 行定义.

◆ appKey

String com.netease.nimlib.sdk.SDKOptions.appKey

设置云信 SDK 的 AppKey。
AppKey 还可以通过在 AndroidManifest 文件中,通过 meta-data 的方式设置,如果两处都设置了,取此处的值。
一个 AppKey 对应一个账号体系,AppKey 的取值优先级为:LoginInfo中的>SDKOptions 中的>AndroidManifest 中的 AppKey。

在文件 SDKOptions.java33 行定义.

◆ asyncInitSDK

boolean com.netease.nimlib.sdk.SDKOptions.asyncInitSDK = false

是否支持异步初始化 SDK,默认同步初始化 SDK。

注意事项:
  • 如果您的 APP 不需要第一时间使用云信 API,可以采用异步加载,这样可以大大缩短在 Application::onCreate 中执行 SDK 初始化函数的响应时间。
  • 如果采用异步初始化,又在 SDK 初始化函数执行后立即调用 XXXService 接口,那么调用线程将会被阻塞 (不超过200ms),直到 SDK 异步初始化完成 (大约在60-180ms)
  • 无论同步还是异步初始化 SDK, 调用 XXXServiceObserver 接口不受任何影响。

在文件 SDKOptions.java152 行定义.

◆ authProvider

AuthProvider com.netease.nimlib.sdk.SDKOptions.authProvider

IM 登录时的Token回调接口 注意:使用动态登录(即LoginInfo.authType为1)时,必须设置

在文件 SDKOptions.java39 行定义.

◆ captureDeviceInfoConfig

CaptureDeviceInfoConfig com.netease.nimlib.sdk.SDKOptions.captureDeviceInfoConfig = new CaptureDeviceInfoConfig(true, true, true)

设备信息获取的配置,包括是否获取产品型号、是否获取制造商信息以及是否获取品牌信息等。null 表示都可以获取。
不获取设备信息可能影响 NIM SDK 功能的使用。如需使用,请联系云信技术支持。

在文件 SDKOptions.java304 行定义.

◆ cdnRequestDataInterval

int com.netease.nimlib.sdk.SDKOptions.cdnRequestDataInterval = 3000

CDN 数据上报的回调间隔时间,默认 3000ms。

在文件 SDKOptions.java278 行定义.

◆ chatroomAuthProvider

ChatRoomAuthProvider com.netease.nimlib.sdk.SDKOptions.chatroomAuthProvider

聊天室登陆时的Token回调接口 注意:聊天室使用动态登录(即LoginInfo.authType为1)时,必须设置

在文件 SDKOptions.java48 行定义.

◆ chatroomLoginExtProvider

ChatRoomLoginExtProvider com.netease.nimlib.sdk.SDKOptions.chatroomLoginExtProvider

聊天室登陆时的LoginExt回调接口

在文件 SDKOptions.java52 行定义.

◆ checkManifestConfig

boolean com.netease.nimlib.sdk.SDKOptions.checkManifestConfig = false

是否在 SDK 初始化时检查 Manifest 文件配置是否完成,默认为 false,不检查。

使用建议:
建议在调试阶段开启,上线时关闭。

在文件 SDKOptions.java168 行定义.

◆ clearTimeTagAtBeginning

boolean com.netease.nimlib.sdk.SDKOptions.clearTimeTagAtBeginning = false

是否重置同步时间戳,启动时重置一次,默认为 false,即不重置。该功能不建议开启,如需开启该功能,请联系云信技术支持。

在文件 SDKOptions.java293 行定义.

◆ coreProcessStartTimeout

int com.netease.nimlib.sdk.SDKOptions.coreProcessStartTimeout = -1

Core 进程启动的超时时间(单位:ms),默认为 15s。

在文件 SDKOptions.java288 行定义.

◆ customPushContentType

String com.netease.nimlib.sdk.SDKOptions.customPushContentType = ""

离线推送不显示详情(MixPushService::setPushShowNoDetail)时,显示的自定义推送文案类型(对应控制台中的自定义推送文案类型名称)。

在文件 SDKOptions.java253 行定义.

◆ databaseEncryptKey

String com.netease.nimlib.sdk.SDKOptions.databaseEncryptKey

数据库加密密钥,用于消息数据库加密。如果不设置,数据库处于明文状态; 设置后,数据库会加密保存数据,之前明文保存的历史数据也会被转为加密保存。

注意事项:
一旦开启过加密功能后,不支持退回明文保存状态!

在文件 SDKOptions.java90 行定义.

◆ DEFAULT

final SDKOptions com.netease.nimlib.sdk.SDKOptions.DEFAULT = new SDKOptions()
static

使用 SDK 默认的选项配置。

在文件 SDKOptions.java26 行定义.

◆ disableAwake

boolean com.netease.nimlib.sdk.SDKOptions.disableAwake = false

禁止后台进程唤醒 UI 进程,默认为 false。

在文件 SDKOptions.java237 行定义.

◆ disableReport

boolean com.netease.nimlib.sdk.SDKOptions.disableReport

在文件 SDKOptions.java374 行定义.

◆ enableBackOffReconnectStrategy

boolean com.netease.nimlib.sdk.SDKOptions.enableBackOffReconnectStrategy = true

是否使用随机退避重连策略,默认为 true,开启。强烈建议开启。如需关闭,请咨询云信技术支持。

在文件 SDKOptions.java179 行定义.

◆ enableChatRoomLocation

boolean com.netease.nimlib.sdk.SDKOptions.enableChatRoomLocation = false

是否开启聊天室空间消息功能,默认为 false,即不开启。如需要使用该功能,请联系云信技术支持。
SDK 在 8.11.0 中新增了空间消息能力,用于在部分基于空间坐标的场景下给指定范围内的用户发送消息,如某游戏地图内指定范围的区域。在加入聊天室时,可以预设一个坐标位置来加入房间,并且可以订阅接收多少距离内的消息。

在文件 SDKOptions.java332 行定义.

◆ enableDatabaseBackup

boolean com.netease.nimlib.sdk.SDKOptions.enableDatabaseBackup = false

是否开启数据库备份功能,默认为 false,即不备份。

在文件 SDKOptions.java298 行定义.

◆ enabledQChatMessageCache

boolean com.netease.nimlib.sdk.SDKOptions.enabledQChatMessageCache = false

是否支持圈组消息缓存,默认为 false,即不开启。
开启消息缓存后,可以为100个频道(QChatChannel)缓存消息,每个频道最多缓存 20 条。

在文件 SDKOptions.java357 行定义.

◆ enableFcs

boolean com.netease.nimlib.sdk.SDKOptions.enableFcs = true

是否开启融合存储,默认为 true,即开启融合存储功能。
开启融合存储后,SDK 在应用收到文件消息会自动启用 CDN 加速选择最快的节点进行存储,将文件消息存储到 AWS 服务器或网易对象存储(NetEase Object Storage, NOS)服务器上。
如果您的应用涉及海外业务,则建议开启融合存储。

在文件 SDKOptions.java218 行定义.

◆ enableForegroundService

boolean com.netease.nimlib.sdk.SDKOptions.enableForegroundService = false

当 NIM Service 启动失败时,是否尝试以前台服务的方式启动,默认为 false。

在文件 SDKOptions.java273 行定义.

◆ enableLBSOptimize

boolean com.netease.nimlib.sdk.SDKOptions.enableLBSOptimize = true

是否启用网络连接优化策略,默认为 true,开启网络链接优化策略。

在文件 SDKOptions.java190 行定义.

◆ enableLoseConnection

boolean com.netease.nimlib.sdk.SDKOptions.enableLoseConnection = false

是否开启 loseConnection。

在文件 SDKOptions.java348 行定义.

◆ enableRecentContactsTimeIndex

boolean com.netease.nimlib.sdk.SDKOptions.enableRecentContactsTimeIndex = false

是否开启最近联系人会话时间索引,默认为 false,即不开启。

注意事项:
开启最近联系人会话时间索引后会明显减少查询最近联系人会话耗时,但是同时也会增加最新联系人会话写入操作耗时。

在文件 SDKOptions.java317 行定义.

◆ enableTeamMsgAck

boolean com.netease.nimlib.sdk.SDKOptions.enableTeamMsgAck = false

是否启用群消息已读功能,默认为 false,即关闭群消息已读功能。

在文件 SDKOptions.java195 行定义.

◆ fcsDownloadAuthStrategy

FcsDownloadAuthStrategy com.netease.nimlib.sdk.SDKOptions.fcsDownloadAuthStrategy

NOS 下载鉴权策略,用户可以自定义鉴权方式,如需使用该功能,请咨询云信技术支持。

在文件 SDKOptions.java222 行定义.

◆ fetchServerTimeInterval

long com.netease.nimlib.sdk.SDKOptions.fetchServerTimeInterval = 2000L

获取服务器时间的连续请求间隔时间,默认 2000ms,最小 1000ms。

在文件 SDKOptions.java242 行定义.

◆ fixMsgStatusByBlackList

boolean com.netease.nimlib.sdk.SDKOptions.fixMsgStatusByBlackList = false

默认false,如果为true,则消息状态是否成功会结合是否被拉入黑名单进行判断

在文件 SDKOptions.java361 行定义.

◆ flutterSdkVersion

String com.netease.nimlib.sdk.SDKOptions.flutterSdkVersion

Flutter NIM SDK 的版本号。

在文件 SDKOptions.java322 行定义.

◆ improveSDKProcessPriority

boolean com.netease.nimlib.sdk.SDKOptions.improveSDKProcessPriority = true

是否提高 NIM SDK 进程优先级,默认为 true,表示提高 NIM SDK 进程优先级,可以降低 NIM SDK 核心进程被系统回收的概率。

使用场景:
  • 部分机型(意外情况下),可根据实际情况决定是否开启;
  • 4.6.0版本 起,弱 IM 模式下,强制不开启;
  • 其他场景,都建议开启提高 SDK 进程优先级。

在文件 SDKOptions.java117 行定义.

◆ logDesensitizationConfig

LogDesensitizationConfig com.netease.nimlib.sdk.SDKOptions.logDesensitizationConfig

/** 日志脱敏配置,即设置是否隐藏涉及下载域名地址的日志信息。

在文件 SDKOptions.java343 行定义.

◆ loginCustomTag

String com.netease.nimlib.sdk.SDKOptions.loginCustomTag

登录时的自定义字段,登录成功后同步给其他端,可以通过 com.netease.nimlib.sdk.auth.AuthServiceObserver#observeOtherClients(Observer, boolean) 获取该字段。

在文件 SDKOptions.java232 行定义.

◆ loginExtProvider

LoginExtProvider com.netease.nimlib.sdk.SDKOptions.loginExtProvider

IM登陆时的LoginExt回调接口

在文件 SDKOptions.java43 行定义.

◆ messageNotifierCustomization

MessageNotifierCustomization com.netease.nimlib.sdk.SDKOptions.messageNotifierCustomization

定制通知栏消息提醒的文案,包括內容文案(主要在通知栏下拉后展现其通知内容),Ticker文案(主要在通知栏弹框提醒时的内容)以及消息撤回时的提醒文案。

在文件 SDKOptions.java76 行定义.

◆ MIN_MSG_TYPING_EVENT_INTERVAL

final long com.netease.nimlib.sdk.SDKOptions.MIN_MSG_TYPING_EVENT_INTERVAL = 3000L
static

正在输入事件发送最小间隔,默认为 3000 ms。

在文件 SDKOptions.java337 行定义.

◆ mixPushConfig

MixPushConfig com.netease.nimlib.sdk.SDKOptions.mixPushConfig

第三方离线推送配置。包括配置第三方推送证书的信息,以及是否根据token自动选择推送类型策略。
目前 NIM SDK 支持的第三方推送厂商包括:小米、华为、荣耀、魅族、vivo、OPPO、以及谷歌 FCM。

在文件 SDKOptions.java174 行定义.

◆ mNosTokenSceneConfig

NosTokenSceneConfig com.netease.nimlib.sdk.SDKOptions.mNosTokenSceneConfig

SDK 的 NOS Token 场景配置,对于 NOS Token,云信 SDK 有默认值 ,若用户不单独配置,则直接采用默认值。

默认值对应场景:
  • NimNosSceneKeyConstant::NIM_DEFAULT_PROFILE:用户和群组资料(例如头像)的上传默认走该场景;
  • NimNosSceneKeyConstant::NIM_DEFAULT_IM:私聊、群聊、聊天室发送图片、音频、视频、文件等动作默认走该场景;
  • NimNosSceneKeyConstant::NIM_SYSTEM_NOS_SCENE:SDK 内部上传文件(例如日志)默认走该场景,并且对应的过期时间不允许修改。

在文件 SDKOptions.java212 行定义.

◆ notificationChannelProvider

NotificationChannelProvider com.netease.nimlib.sdk.SDKOptions.notificationChannelProvider

配置通知要走的通道(ChannelId),若不配置,则根据响铃振动走对应的默认通道。

在文件 SDKOptions.java327 行定义.

◆ notifyStickTopSession

boolean com.netease.nimlib.sdk.SDKOptions.notifyStickTopSession = false

是否同步置顶会话,默认为 false,即不同步置顶会话。

在文件 SDKOptions.java268 行定义.

◆ preloadAttach

boolean com.netease.nimlib.sdk.SDKOptions.preloadAttach = true

是否需要 SDK 自动预加载多媒体消息的附件。默认为 true,即 SDK 收到多媒体消息后,图片和视频会自动下载缩略图,音频会自动下载文件。如果关闭,第三方 APP 可以设置是否需要下载以及何时下载附件内容。

典型使用场景:
列表第一次滑动到这条消息时,才触发下载,以节省用户流量。

在文件 SDKOptions.java97 行定义.

◆ preLoadServers

boolean com.netease.nimlib.sdk.SDKOptions.preLoadServers = true

预加载服务,默认为 true,表示开启预加载服务,预加载连接可以优化登录流程,提升用户体验。不建议设置为 false。

在文件 SDKOptions.java127 行定义.

◆ qchatAutoSubscribe

boolean com.netease.nimlib.sdk.SDKOptions.qchatAutoSubscribe = false

是否开启圈组自动订阅,默认为 false。 true:开启圈组自动订阅;false:关闭圈组自动订阅

在文件 SDKOptions.java372 行定义.

◆ qChatTypingEventMinInterval

long com.netease.nimlib.sdk.SDKOptions.qChatTypingEventMinInterval = MIN_MSG_TYPING_EVENT_INTERVAL

圈组发送正在输入事件的最小间隔,默认的最小间隔为 3000ms,设置小于 3000ms无效。

在文件 SDKOptions.java352 行定义.

◆ recentContactContentSource

RecentContactContentSource com.netease.nimlib.sdk.SDKOptions.recentContactContentSource = RecentContactContentSource.MessageTypeTipPreferred

最近会话(RecentContact)中内容(content 字段)的来源,默认为 MessageTypeTipPreferred。

内容来源:
  • MessageTypeTipPreferred:优先使用对应消息的MsgTypeEnum.sendMessageTip,如果为空,则使用对应消息的 Content;
  • MessageContentPreferred:优先使用对应消息的 Content,如果为空,则使用对应消息的MsgTypeEnum.sendMessageTip;
  • MessageTypeTip:直接使用对应消息的MsgTypeEnum.sendMessageTip,即使为空;
  • MessageContent:直接使用对应消息的 Content,即使为空。

在文件 SDKOptions.java263 行定义.

◆ reconnectStrategy

ReconnectStrategy com.netease.nimlib.sdk.SDKOptions.reconnectStrategy

自动登录失败后的重连机制。云信默认的自动重连策略为:自动登录失败后,默认 2 秒后触发重连,如果一直连不上,重连时间指数级增长,2、4、6、8、16、32、64...
如果需要自行配置重连时间,可联系技术支持开启此功能进行配置。

在文件 SDKOptions.java185 行定义.

◆ reducedIM

boolean com.netease.nimlib.sdk.SDKOptions.reducedIM = false

是否为弱 IM 场景,默认为 false,即强 IM 场景。
如果您的应用仅需在其部分业务中使用 IM 能力(不需要在应用启动时就做 IM 自动登录),且并不需要保证消息、通知和数据的实时性的场景(例如需要用户授权隐私信息采集的业务场景),那么可填 true,使用弱 IM 场景。非弱 IM 场景慎用!

注意事项:
  • 弱 IM 场景下,SDK 将在初始化过程中不启动 push 进程(维护与云信服务器的长连接),一直延迟到 IM 手动登录过程再做懒启动。启动后,push 进程的生命周期同 UI 进程,即当 UI 进程被销毁后,push 进程将自行退出,不占用系统资源,也不再保持与云信服务器的连接。
  • 弱 IM 场景下,请不要使用自动登录,如果使用了自动登录,那么该设置自动失效!

在文件 SDKOptions.java161 行定义.

◆ reportIgnoredMessage

boolean com.netease.nimlib.sdk.SDKOptions.reportIgnoredMessage = false

是否开启“被过滤消息”的数据上报,默认为 false,即不开启。 true:被过滤的消息要上报;false:被过滤的消息不上报

在文件 SDKOptions.java380 行定义.

◆ reportImLog

boolean com.netease.nimlib.sdk.SDKOptions.reportImLog = false

(功能已下线)是否开启IM日志自动上报

在文件 SDKOptions.java248 行定义.

◆ rollbackSQLCipher

boolean com.netease.nimlib.sdk.SDKOptions.rollbackSQLCipher = false

是否支持回滚 SQLCipher 加密的数据库,默认为 false,即不支持回滚。

在文件 SDKOptions.java283 行定义.

◆ sdkStorageRootPath

String com.netease.nimlib.sdk.SDKOptions.sdkStorageRootPath

外置存储根目录,用于存放多媒体消息文件。若不设置或设置的路径不可用,将使用"external storage root/packageName/nim/"作为根目录。

注意事项:
4.4.0 版本以后,如果开发者配置在 Context::getExternalCacheDir 或 Context.getExternalFilesDir 等应用扩展存储缓存目录下,SDK 内部将不再检查写权限。但这里的文件会随着 App 卸载而被删除,也可以由用户手动在设置界面里面清除。

在文件 SDKOptions.java83 行定义.

◆ secondTimeoutForSendMessage

SecondTimeoutConfig com.netease.nimlib.sdk.SDKOptions.secondTimeoutForSendMessage

是否配置发送消息的第二超时时间,即发送超时(对应的状态为 408)后等待回包的时间,默认为 0。
该配置属于特殊功能,如需使用该功能,请联系云信技术支持。

在文件 SDKOptions.java310 行定义.

◆ serverConfig

ServerAddresses com.netease.nimlib.sdk.SDKOptions.serverConfig

配置专属服务器的地址,常用于私有化部署。

在文件 SDKOptions.java122 行定义.

◆ sessionReadAck

boolean com.netease.nimlib.sdk.SDKOptions.sessionReadAck = false

是否开启会话已读多端同步,默认 false,即不支持多端同步会话未读数。

在文件 SDKOptions.java108 行定义.

◆ shouldConsiderRevokedMessageUnreadCount

boolean com.netease.nimlib.sdk.SDKOptions.shouldConsiderRevokedMessageUnreadCount

是否需要将被撤回的消息计入未读数,默认为 false,即撤回消息不影响未读数。
客户端通常直接写入一条 Tip 消息,用于提醒"对方撤回了一条消息",该消息也不计入未读数,不影响当前会话的未读数。
如果设置为 true,撤回消息后未读数将减 1。

在文件 SDKOptions.java202 行定义.

◆ statusBarNotificationConfig

StatusBarNotificationConfig com.netease.nimlib.sdk.SDKOptions.statusBarNotificationConfig

通知栏提醒功能。默认为 null,表示 SDK 不提供状态栏提醒功能,由用户 APP自行实现。

在文件 SDKOptions.java66 行定义.

◆ syncConfig

SyncConfig com.netease.nimlib.sdk.SDKOptions.syncConfig = new SyncConfig.Builder().build()

数据同步配置。可设置是否在初始化时同步群成员以及超大群成员的信息,默认都为 true。 true:同步;false:不同步

在文件 SDKOptions.java366 行定义.

◆ teamNotificationMessageMarkUnread

boolean com.netease.nimlib.sdk.SDKOptions.teamNotificationMessageMarkUnread = false

群通知消息是否计入未读数,默认为 false,即默认群消息不计入未读数。

在文件 SDKOptions.java132 行定义.

◆ thumbnailSize

int com.netease.nimlib.sdk.SDKOptions.thumbnailSize = 350

消息缩略图的尺寸,默认为 350 像素。
该值为最长边的大小。下载的缩略图最长边不会超过该值。

在文件 SDKOptions.java103 行定义.

◆ useAssetServerAddressConfig

boolean com.netease.nimlib.sdk.SDKOptions.useAssetServerAddressConfig = false

是否检查并使用 Asset 目录下的私有化服务器配置文件 server.conf(固定命名), 默认是 false,即不开启。

使用场景:
一般只有私有化项目中,在私有化测试期间需要开启此选项,并将配置文件放在 Assets/server.conf。
注意事项:
如果在 SDKOptions.serverConfig 已经配置私有化信息,那么该本地配置文件将失效!

在文件 SDKOptions.java61 行定义.

◆ useNtServer

boolean com.netease.nimlib.sdk.SDKOptions.useNtServer = true

是否开启运行时的异常统计,默认开启。

在文件 SDKOptions.java227 行定义.

◆ userInfoProvider

UserInfoProvider com.netease.nimlib.sdk.SDKOptions.userInfoProvider

用户信息提供者,由开发者提供给 NIM SDK 使用,主要用于通知栏显示的用户昵称和头像。

在文件 SDKOptions.java71 行定义.

◆ useXLog

boolean com.netease.nimlib.sdk.SDKOptions.useXLog = false

是否使用性能更好的 SDK 日志模式。默认为 false,即默认使用普通日志模式。

在文件 SDKOptions.java137 行定义.


该类的文档由以下文件生成: