The Messaging module is one of the corner stones of the IMIconnect SDK, facilitating easy integration of Push and In App Messaging capabilities within a host application.

Push Notifications

Push notifications are unidirectional messages that can be sent from the IMIconnect Platform to a end user device, even when the app is not in active use. Therefore, push is an ideal choice for drawing attention to your application to help increase user engagement.

In addition to standard text, notifications may contain rich content and interactions, such as images, button actions and deep links, to help bring engaging, relevant and contextual experiences to application users.

The SDK handles the presentation of notifications on the device, delivery/read receipts and standard actions such as opening the host app and/or deep linking to specific content.

In App Messages

In app messages bring the advantage of being bi-directional, they may be published from the SDK, as well as being received by the SDK. This facilitates the implementation of conversational experiences such as in app chat.

In app messages are logically grouped into threads and benefit from the support of message history APIs. Messages can be synchronized across devices, even when those devices run different operating systems.

Normally, messages can only be received while an application is active, however, Push notifications can be used alongside In app messages to wake an application and allow messages to be received.

Unlike Push Notifications, the SDK does not handle the presentation of In App Messages, this is a responsibility of the host application.

Message Abstraction

Push notifications and In App Messages share many common data elements, therefore the SDK abstracts this data through the ICMessage class.

This allows messages to be received and operated on through a common API set, simplifying and reducing the code required to consume messages within an application.


The following sections provide detail for the classes and interfaces that comprise the Messaging module:

Core Classes
Attachments & Media
Storage & Synchronization