Messaging
This section highlights the steps you will need to follow to begin integrating chat messaging into your products
The message payload is always the same regardless of which Development Kit the user is using. Users also have a choice on what type of message they want to send.
Major API simplification
We rewrote the message repository from the ground up, deprecating the old code but keeping it working. If you don't want to refactor your code just yet, don't worry, you can still upgrade just fine.
List of corresponding methods
Before Refactoring | After Refactoring |
messageRepo.messageForId | MessageRepository.getMessage |
messageRepo.messagesForChannel | MessageRepository.queryMessages |
messageRepo.createTextMessage | MessageRepository.createTextMessage |
messageRepo.addReaction | MessageRepository.addReaction |
messageRepo.removeReaction | MessageRepository.removeReaction |
messageRepo.flag | MessageRepository.flag |
messageRepo.unflag | MessageRepository.unflag |
editRepo.editText | MessageRepository.updateMessage |
editRepo.delete | MessageRepository.deleteMessage |
flagRepo.flag | MessageRepository.flag |
flagRepo.unflag | MessageRepository.unflag |
flagRepo.isFlaggedByMe | MessageRepository.isFlaggedByMe |
Message Description
Name | Data Type | Description | Attributes |
|
| The id of this message | Content |
|
| The | Content |
|
| The number of messages with | Content |
|
| The name of the channel this message was created in | Content |
|
| The name of the user this message was created by | Content |
|
| The message type | enum*: |
|
| The message tags | Content |
|
| The message data (any text will be stored in |
|
|
| The message has been marked as deleted | Content |
|
| The sequence number of a message in channel | Content |
|
| The date/time the message was created at | Content |
|
| The date/time the message was updated at | Content |
|
| The date/time the message was edited at | Content |
|
| The number of users that have flagged this message | Content |
|
| A hash for checking internally if this message was flagged by the user | Content |
|
| The reaction data (stored as a reactionName and counter key/value pair) | Example: { |
|
| The total number of reactions on this message | Content |
|
| List of user's reactions on this message | Content |
| Array.<Object> | List of mentionees | Example: [{ type: 'channel' }, { type: 'user', userIds: 'userId1', 'userId2' }] |
Messages are JSON content containers that can have up to 20,000 characters or can weigh up to 100KB for custom messages. They will be synchronized among all channel users in real-time. If a message requires larger binary data (such as when sending files), we recommend to upload the data to another cloud storage service, such as AWS S3, and store the URL to the content in the message data.
In addition the JSON message type, the SDK also provides support for common text and image message types. These additional types are built on top of the standard JSON message layer.
In case of image messages, the SDK freely provides a cloud storage service that will process and store all images uploaded: you don't need to setup and manage a separate cloud storage service for this common case.
All messaging methods are contained in a MessageRepository
class. Before calling any messaging methods, you must ensure to first instantiate a repository instance using the ASCClient
instance you created on setup.
Last updated