NIMAndroidSDKOptions class Null safety

  • @JsonSerializable()


NIMAndroidSDKOptions({bool improveSDKProcessPriority = true, bool preLoadServers = true, bool reducedIM = false, bool checkManifestConfig = false, bool disableAwake = false, String? databaseEncryptKey, int thumbnailSize = 350, int fetchServerTimeInterval = 2000, String? customPushContentType, NIMMixPushConfig? mixPushConfig, NIMStatusBarNotificationConfig? notificationConfig, required String appKey, String? sdkRootDir, int? cdnTrackInterval, int? customClientType, bool? shouldSyncStickTopSessionInfos, bool? enableReportLogAutomatically, String? loginCustomTag, bool? enableDatabaseBackup, bool? shouldSyncUnreadCount, bool? shouldConsiderRevokedMessageUnreadCount, bool? enableTeamMessageReadReceipt, bool? shouldTeamNotificationMessageMarkUnread, bool? enableAnimatedImageThumbnail, bool? enablePreloadMessageAttachment, bool? useAssetServerAddressConfig, NIMLoginInfo? autoLoginInfo, Map<NIMNosScene, int>? nosSceneConfig})
NIMAndroidSDKOptions.fromMap(Map options)


appKey String
App Key
final, inherited
autoLoginInfo NIMLoginInfo?
Automatic login account Windows and macOS are not supported.
@JsonKey(toJson: loginInfoToMap, fromJson: loginInfoFromMap, includeIfNull: false), final, inherited
cdnTrackInterval int?
Interval for triggering the CDN statistics callback Set the value before triggering CDN streaming, and the change will not take effect after the streaming starts Windows and macOS are not supported.
final, inherited
checkManifestConfig bool
Specify whether to check the Manifest configuration Set the value to true in the debugging stage and false when the debugging is complete.
@JsonKey(defaultValue: false), final
customClientType int?
The custom client type. If the value is less than or equal to 0, no custom client types are defined.
final, inherited
customPushContentType String?
The type of the string to be displayed when offline push does not display details
databaseEncryptKey String?
The database encryption key, used for message database encryption. <br/> If the key is unspecified, the database is in the plain text state. If the key is configured, the data stored in the database will be encrypted and saved. Earlier data saved in plaintext will be converted to encrypted storage; If encryption is enabled, the data will not fall back to the plain text state.
disableAwake bool
Prevent background processes from waking up the UI process
@JsonKey(defaultValue: false), final
enableAnimatedImageThumbnail bool?
By default, if the original image thumbnail is obtained from the server and the original image is an animated image, the thumbnail of the first frame of the original image will be returned. If the option is enabled, the animated thumbnail will be returned. The option only affects thumbnails fetched from the server, not locally generated thumbnails. The setting is disabled by default
final, inherited
enableDatabaseBackup bool?
Specify whether to enable database backup The default value is disabled
final, inherited
enablePreloadMessageAttachment bool?
Specify whether to automatically pre-load the attachment of a multimedia message. If the option is enabled, after the SDK receives multimedia messages, thumbnails for images and video messages will be downloaded. Audio files will be automatically downloaded. If disabled, the third-party app can only decide whether to download and when to download the attachment content. In most cases, when the message list is swiped for the first time, the app can make the decision. The download is triggered only when this message is loaded when users swipe the screen. By default, the setting is enabled.
final, inherited
enableReportLogAutomatically bool?
Specify whether to enable automatic reporting of IM logs. The setting is disabled by default.
final, inherited
enableTeamMessageReadReceipt bool?
Specify whether to enable the read receipt of group messages. The setting is disabled by default
final, inherited
fetchServerTimeInterval int
The interval from consecutive requests sent to get the server time. The minim value is 1000ms. The default value is 2000ms.
@JsonKey(defaultValue: 2000), final
hashCode int
The hash code for this object.
read-only, inherited
improveSDKProcessPriority bool
Specify whether to increase the priority of the SDK process. By default, the setting is enabled. This can lower the probability of the SDK core process being recycled by the system. If some device models have unexpected situations, you can decide whether to enable the setting based on the model. From v4.6.0, in non-intensive messaging mode, the SDK process priority is not increased.
@JsonKey(defaultValue: true), final
loginCustomTag String?
Custom field for login, synced with other devices after successful logins
final, inherited
mixPushConfig NIMMixPushConfig?
Third-party push service configuration
@JsonKey(toJson: _mixPushConfigToMap, fromJson: _mixPushConfigFromMap), final
nosSceneConfig Map<NIMNosScene, int>?
SDK NOS scenario configuration
@JsonKey(fromJson: nosSceneConfigFromMap), final, inherited
notificationConfig NIMStatusBarNotificationConfig?
Notification bar configuration
@JsonKey(toJson: _notificationConfigToMap, fromJson: _notificationConfigFromMap), final
preLoadServers bool
Preloading service. The default setting is true. We recommend you not set the value to false. Preloading connections can optimize the login process and improve the user experience.
@JsonKey(defaultValue: true), final
reducedIM bool
Specify whether the scene is non-intensive messaging (use with caution)
@JsonKey(defaultValue: false), final
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
sdkRootDir String?
SDK root directory
final, inherited
shouldConsiderRevokedMessageUnreadCount bool?
If the value is set to enabled and the recalled message is not yet read locally, the unread count in the session will be decremented by 1 to keep the unread count of the recent sessions consistent. The setting is disabled by default
final, inherited
shouldSyncStickTopSessionInfos bool?
Specify whether to synchronize the top session records. The default value is disabled.
final, inherited
shouldSyncUnreadCount bool?
Specify whether to enable sync read messages on multiple devices. Unread message sync on multiple devices is supported. The default value is disabled
final, inherited
shouldTeamNotificationMessageMarkUnread bool?
Specify whether the group notification messages are counted as unread. By default, the group notification messages are not counted as unread.
final, inherited
thumbnailSize int
The size of the message thumbnail.
The value is the length of the longest side. The longest side of the downloaded thumbnail will not exceed this value.
useAssetServerAddressConfig bool?
Specify whether to use a custom server address configuration
final, inherited


noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed.
toMap() Map<String, dynamic>
toString() String
A string representation of this object.


operator ==(Object other) bool
The equality operator.