Messaging

If you need translation feature, see below.

circle-info

Message translation feature is provided through Google Cloud Translation. To use this feature, register an appropriate Google Cloud Service Account Key on our dashboard.

  • Setting translationLanguage property in TPMessageRetrievalParams object with language code (ISO-639) retrieves message with its translated text.

  • Setting translationLanguage property in TPMessageSendParams with language code (ISO-639) when sending message will automatically translate the message text.

  • Supported languages (ISO-639) can be found herearrow-up-right.

  • Calling 'getTranslatedText' on TPMessage object will return a Key-Value map. Translated text(value) can be accessed from the map by using language code (used in 'translationLanguage' parameter) as key.

1. Get Messages

circle-info

Messages are sorted by most recent (default).

circle-info

Setting translationLanguage property in TPMessageRetrievalParams object will return TPMessage objects with translated texts via success block (success closure).

  • Use this to translate channel messages from the past.

  • For realtime message translation, see thisarrow-up-right.

  • TPMessageRetrievalParams class is available starting from TalkPlus iOS SDK v0.5.3.

// get messages from channel
TPMessageRetrievalParams *params = 
    [[TPMessageRetrievalParams alloc] initWithChannel:channel];
params.lastMessage = lastMessage;
params.orderby = TPOrderByLatest;
params.translationLanguage = translationLanguage;

[[TalkPlus sharedInstance] getMessages:params 
    success:^(NSArray<TPMessage *> *tpMessages, BOOL hasNext) {
    // SUCCESS
    // If 'hasNext' is YES, call this method with the last object in 'tpMessages'.
} failure:^(int errorCode, NSError *error) {
    // FAILURE
}];

// get a single message from channel
TPMessageRetrievalParams *params = 
    [[TPMessageRetrievalParams alloc] initWithChannel:channel];
params.messageId = messageId;
params.translationLanguage = translationLanguage;

[[TalkPlus sharedInstance] getMessage:tpChannel
                            messageId:messageId
                            translationLanguage:@""
                            success:^(TPMessage *tpMessage) {
    
} failure:^(int errorCode, NSError *error) {
    
}];

2. View Messages With File Upload

View messages with file attachment.

circle-info

Messages are sorted by most recent (default).

circle-info

Setting translationLanguage property in TPMessageRetrievalParams object will return TPMessage objects with translated texts via success block (success closure).

  • Use this to translate channel messages from the past.

  • For realtime message translation, see thisarrow-up-right.

  • TPMessageRetrievalParams class is available starting from TalkPlus iOS SDK v0.5.3.

3. Send Message

circle-info

The following message types are supported: text, hidden, custom.

  • Push notification is not sent for hidden message type.

  • admin, admin_hidden message type can only be sent from TalkPlus dashboard or by calling REST API.

  • If you have users you want to mention, you can pass an array of user IDs in the mentions field.

  • You can enter up to 10 key-value pairs in data field. The maximum size of key is 128 characters and the maximum size of value is 1024 characters. Both key and value must be strings.

  • Both message text and data cannot be empty when sending a message.

  • The maximum size of message text is 8192 characters.

  • The maximum file upload size is 15MB.

circle-info
  • Emojis supported by UTF-8 can be used in message text.

  • For custom emojis, required values can be put into message text then parsed directly.

circle-check

4. Get Message

View a single message.

5. Reply To Message

Reply to another message.

6. Mark As Read

You can mark a channel as read.

7. React To Message

You can add/remove reaction to a message.

circle-info
  • reaction must be alphanumeric and between 1 and 64 characters long.

  • Each message can have up to 10 reaction types.

  • Each reaction type can contain up to 100 user IDs.

8. Get Unread Message Count

You can find out how many channel members have not read a particular message.

9. Delete Message

You can delete your own message.

Last updated