Enumerations
The following enumerations are used in imiconnect iOS SDK.
- ICLogType
- ICLogTarget
- ICConnectionStatus
- ICErrorCode
- ICMessageChannel
- ICMessageType
- ICThreadType
- ICMessageSynchronizationMode
- ICMessageStatus
- ICThreadstatus
- ICEnvironment
- ICInAppNotificationType
- ICInteractiveDataType
- ICFormFieldType
- ICTemplateType
- ICTemplateAttachment
- ICFormTemplateAttachment
ICLogType
This enumeration exposes enumeration data with the type of logs that will be logged.
| Value | Description |
|---|---|
| ICLogTypeNone | No log will be displayed/recorded. |
| ICLogTypeDebug | A large number of logs will be logged that can help to debug. |
| ICLogTypeProduction | Logs will be kept at a minimum level. |
ICLogTarget
This enumeration represents the target on which the logs will be displayed or recorded.
| Value | Description |
|---|---|
| ICLogTargetConsole | Logs will be displayed in the console. |
| ICLogTargetFile | Logs will be recorded in a file. |
ICConnectionStatus
This enumeration describes different connection status between the SDK and the Real-Time Messaging server.
| Value | Description |
|---|---|
| ICConnectionStatusNone | No connection attempt has been made. |
| ICConnectionStatusConnecting | The SDK is attempting to establish a connection with the Real-Time Messaging server. |
| ICConnectionStatusConnected | The SDK is connected and allows you to publish and receive messages. |
| ICConnectionStatusRefused | The connection is refused by the Real-Time Messaging server. |
| ICConnectionStatusClosed | The SDK is disconnected from the Real-Time Messaging server. |
| ICConnectionStatusError | A connection error has occurred while connecting to the Real-Time Messaging server. |
ICDeviceProfileParam
This enumeration describes the different device profile parameters supported for update and remove operations.
| Value | Description |
|---|---|
| ICDeviceProfileParamUserId | Represents the User Id attribute of the device profile. |
| ICDeviceProfileParamCustomerId | Represents the Customer Id attribute of the device profile. |
ICErrorCode
This enumeration describes different error codes of the SDK.
| Value | Description |
|---|---|
| ICErrorCodeNotInitialized | Returned when trying to access a feature without initializing the SDK. |
| ICErrorCodeAlreadyInitialized | Returned when trying to initialize the SDK when it is already initialized. |
| ICErrorCodeNotRegistered | Returned when trying to access a feature without registering a user. |
| ICErrorCodeFeatureNotSupported | Returned when trying to access a feature that is not supported by the app. |
| ICErrorCodeInvalidParameterValue | Returned when a required parameter is not passed or an invalid value has been passed to a method. |
| ICErrorCodeNotConnected | Returned when trying to communicate with the RTM server without establishing a connection. |
| ICErrorCodeRegistrationFailure | Returned when registration is failed. |
| ICErrorCodeInvalidResponse | Returned when a response from the server is invalid. |
| ICErrorCodeTokenInvalid = 38 | The token is not in the expected format. |
| ICErrorCodeTokenUnauthorized = 39 | The token does not provide authorization to access the requested resource. |
| ICErrorCodeTokenExpired = 40 | The token has expired. |
| ICErrorCodeTokenRequired = 41 | The token is required. |
ICMessageChannel
This enumeration describes the supported message channels.
| Value | Description |
|---|---|
| ICMessageChannelPush | The incoming message comes from the Push notification channel. |
| ICMessageChannelRealTime | The incoming message comes from Real Time Messaging channel. |
ICMessageType
This enumeration describes the message types.
| Value | Description |
|---|---|
| ICMessageTypeBasic | A standard non-interactive message. |
| ICMessageTypeInteractive | A message that contains pre-built out-of-the-box interactive elements. This type of message typically causes actions to occur on the device in response to notification buttons. |
| ICMessageTypeAlert | Message data is alert from connect platform. |
| ICMessageTypeDeliveryReceipt | Message data is a DeliveryReceipt, TransactionId is available and can be used to match the receipt to the original message. |
| ICMessageTypeMessage | Standard Push or Live Chat / In-App Messaging. |
| ICMessageTypeNotification | Represents the notification part of an Live Chat / In-App Messaging. |
| ICMessageTypeReadReceipt | Message data is a ReadReceipt, only TransactionId is available and can be used to match the receipt to the original message. |
| ICMessageTypeRepublish | The message is a republish of a MO, all data from the original message is available. |
| ICMessageTypeTypingStart | Message data is a TypingStart from the connect platform end. |
| ICMessageTypeTypingStop | Message data is a TypingStop from the connect platform end. |
| ICMessageTypeClickedReceipt | Message data is a ClickedReceipt from the connect platform end. |
Note
Message field could be null for below message types:
- ICMessageTypeDeliveryReceipt
- ICMessageTypeReadReceipt
- ICMessageTypeTypingStart
- ICMessageTypeTypingStop
ICThreadType
| Value | Description |
|---|---|
| ICThreadTypeConversation | The thread is a conversation, the users can send messages on this thread. |
| ICThreadTypeAnnouncement | The thread is an announcement thread, the users can only receive messages on this thread. |
ICMessageSynchronizationMode
| Value | Description |
|---|---|
| ICMessageSynchronizationModeFull | Synchronization should synchronize all available data. |
| ICMessageSynchronizationModeLimited | Synchronization should occur based on policy limits. |
| ICMessageSynchronizationModeNone | Synchronization should be disabled. |
ICMessageStatus
| Value | Description |
|---|---|
| ICMessageStatusNone | None is the default message status. |
| ICMessageStatusSent | Message sent successfully to connect the platform. |
| ICMessageStatusDelivered | Message delivered to the user device. |
| ICMessageStatusRead | The message read by the user device. |
ICThreadstatus
| Value | Description |
|---|---|
| ICThreadStatusActive | The thread is active. The user can receive (and send if the thread type is a conversation) messages on this thread |
| ICThreadStatusClosed | The thread is closed. The user cannot receive (and send if the thread type is a conversation) any messages on this thread |
iOS SDK Single Binary Changes
The section below describes the changes to convert the SDK to Single Binary which supports all the current environments.
ICEnvironment
This version of SDK has a new enum ICEnvironment
| Value | Description |
|---|---|
| ICEnvironmentUK | It denotes the UK server environment |
| ICEnvironmentUS | It denotes the US server environment |
| ICEnvironmentCA | It denotes the CANADA server environment |
| ICEnvironmentIN | It denotes the INDIA server environment |
| ICEnvironmentTC | It denotes the TELECITY server environment |
| ICEnvironmentAZURE_US | It denotes the AZURE US server environment |
| ICEnvironmentLDN | It denotes the LONDON server environment |
ICInAppNotificationType
This enumeration describes the types of in-app notifications that can be displayed.
| Value | Description |
|---|---|
| ICInAppNotificationTypeBanner | It displays the notification as a banner. |
| ICInAppNotificationTypeModal | It displays the notification as a modal. |
| ICInAppNotificationTypeNone | It displays none. |
ICInteractiveDataType
This enumeration describes the Interactive data type for message.
| Value | Description |
|---|---|
| ICInteractiveDataTypeFormResponse | It denotes the form response for message type “form” |
| ICInteractiveDataTypeWebURL | It denotes the response for “weburl” interactive data |
| ICInteractiveDataTypeTemplatePostback | It denotes the response for “postback” Template interactive data |
| ICInteractiveDataTypeQuickReplyPostback | It denotes the response for “postback” quick reply interactive data |
Form Template Message Type Changes
The following new enumerations added in this version of SDK.
ICFormFieldType
This enumeration describes the supported Form Fields.
| Value | Description |
|---|---|
| ICFormFieldTypeText | It denotes the Text type form field |
| ICFormFieldTypeName | It denotes the Name type form field |
| ICFormFieldTypeEmail | It denotes the Email type form field |
| ICFormFieldTypeInteger | It denotes the Integer type form field |
| ICFormFieldTypeDecimal | It denotes the Decimal type form field |
| ICFormFieldTypeDate | It denotes the Date type form field |
| ICFormFieldTypeDropdown | It denotes the Dropdown type form field |
typedef enum
{
ICFormFieldTypeText,
ICFormFieldTypeName,
ICFormFieldTypeEmail,
ICFormFieldTypeInteger,
ICFormFieldTypeDecimal,
ICFormFieldTypeDate,
ICFormFieldTypeDropdown,
ICFormFieldTypeMultiSelectDropdown
} ICFormFieldType;
ICTemplateType
This enumeration describes the supported Template Types.
| Value | Description |
|---|---|
| ICInteractiveDataTypeFormResponse | It denotes the Form Response type Interactive data |
| ICTemplateTypeGeneric | It denotes the Generic type Interactive data |
Classes
The following new classes added in this version of SDK.
ICTemplateAttachment
This class exposes the data related to a Template Attachment.
Methods:
typeFromString:typeString:
This method Converts the Field Type String to ICTemplateType.
Syntax: + (ICTemplateType)typeFromString:(NSString *)typeString;
Parameters:
| Parameter | Type | Description |
|---|---|---|
| typeString | NSString | Specifies the template type |
Return Value: Returns the ICTemplateType value equals to typeString passed to this method.
Sample Code:
ICTemplateType templateType = [ICTemplateAttachment typeFromString:@”form”];
stringFromType:type:
This method Converts the ICTemplateType to String.
Syntax: + (NSString *)stringFromType:( ICTemplateType)type;
| Parameter | Type | Description |
|---|---|---|
| type | ICTemplateType | Specifies the template type |
Return Value: Returns the string value equals to ICTemplateType passed to this method.
Sample Code:
NSString *templateType = [ICTemplateAttachment stringFromType: ICTemplateTypeForm];
ICFormTemplateAttachment
This class exposes the data related to a Form Template.
Properties:
| Property | Description |
|---|---|
| @property (nonatomic) NSString *formTitle; | The Form Title |
| @property (nonatomic) NSArray *formFields; | The Form Fields |
Updated 12 months ago
