The IMIconnect Android SDK contains the following enumerations:


This enumeration describes the various statuses for the connection between the SDK and the In App Message broker.

NoneNo connection attempt has been made.
ConnectingA connection attempt is in progress.
ConnectedA connection has been established.
RefusedThe connection was refused by the broker.
Note: Not currently used.
DisconnectingA disconnection attempt is currently in progress.
ClosedThe connection has been closed.
ErrorA connection error has occurred.


This enumeration describes the different device profile parameters supported for update and remove operations.

UserIdRepresents the User Id attribute of the device profile.
CustomerIdRepresents the Customer Id attribute of the device profile.


This enumeration describes the various error codes exposed by the SDK.

Not InitializedIndicates the SDK has not been initialized/started.
AlreadyInitializedIndicates the SDK is already started, but another attempt has been made.
NotRegisteredIndicates attempted access to a feature before registering a user.
FeatureNotSupportedIndicates attempted access to a feature that is not enabled within the IMIconnect app configuration.
InvalidParameterValueIndicates that a required parameter is missing or an invalid value has been passed.
PermissionNotGrantedIndicates that a permission required to process an operation has not been granted.
AlreadyRegisteredIndicates a user is already registered but another registration attempt has been made.
PushRegistrationFailedIndicates that the SDK failed to register for push notifications.
RestFailureIndicates that a REST API call to the IMIconnect platform has failed. Used exclusively with ICRestException that exposes the underlying error.
NotConnectedIndicates an In App Messaging operation has been attempted while no active connection exists.
ConnectionFailureIndicates that an In App Messaging connection error occurred.
PublishFailedIndicates that In App Message publication failed.
SubscribeFailedIndicates that the topic subscription operation failed.
UnsubscribeFailedIndicates that the operation to unsubscribe from a topic failed.
GeneratePinTimeoutIndicates that the Pin generation process has timed out during the listening phase.
TokenInvalidIndicates the Security Token is invalid.
TokenRequiredIndicates that a Security Token is required.
TokenExpiredIndicates that a Security Token has expired.
UnknownIndicates that an unknown error has occurred.


This enumeration describes the targets that may be used with the logging system.

FileLogs will be displayed in the console.
ConsoleLogs will be recorded in a file.


This enumeration describes the type of logging that the SDK will produce.

NoneNo logging information will be generated.
DebugLogging information suitable for debugging in a development environment will be generated.
ProductionMinimal logging information, suitable for production environments, will be generated.


This enumeration describes the supported message channels.

PushChannel for Push messages.
AppMessagingChannel for In App messages.


This enumeration describes the various message statuses.

NoneIndicates that the message has been created but no send attempt has been made.
SentIndicates that the message was successfully sent to the IMIconnect platform.
NotSentIndicates that sending of the message to the IMIconnect platform failed.
DeliveredIndicates that the message has been delivered.
ReadIndicates that the message has been read.


This enumeration describes the various message synchronization modes.

NoneSynchronization is disabled.
LimitedSynchronization is constrained by limits.
FullSynchronization of all message data.


This enumeration describes the different types of messages.

AlertIndicates an Alert style message.
DeliveryReceiptIndicates the message is a delivery receipt for another standard message.
MessageIndicates the message is a standard Push or In App message.
MessageNotificationIndicates the message is a Push notification that is coupled to a standard In App message.
ReadReceiptIndicates the message is a read receipt for another standard message.
RepublishIndicates that the message is a republish of another standard message. This type is used to help support synchronization of user originated messages to other devices.
ThreadUpdateIndicates that the message contains updated thread data. This type is used to synchronize changes of thread data to user devices.
TypingStartThe message is an indicator that typing has started.
TypingStopThe message is an indicator that typing has stopped.


This enumeration describes the various thread statuses used by the SDK.

ActiveIndicates that the thread is considered as active.
ClosedIndicates that the thread is considered as closed.


This enumeration describes the types of threads used by the SDK.

AnnouncementIndicates a read-only thread that may be used for one-way announcements. It is not possible to publish messages to this type of thread from the SDK.
ConversationIndicates a thread which may be used for bi-directional communication.