Messaging

If you need translation feature, see below.

1. Get Messages

var messageParams = new TPMessageRetrievalParams(channel);
messageParams.lastMessage = lastMessage;
messageParams.orderBy = TPMessageOrderBy.TPOrderByLatest;
messageParams.translationLanguage = translationLanguage;
        
TalkPlusApi.GetMessages(messageParams, 
   (List<TPMessage> tpMessages, bool hasNext) => {
   // SUCCESS
}, (int statusCode, Exception e) => {
   // FAILURE
});

2. View Messages With File Upload

View messages with file attachment.

var messageParams = new TPMessageRetrievalParams(channel);
messageParams.lastMessage = lastMessage;
messageParams.orderBy = TPMessageOrderBy.TPOrderByLatest;
messageParams.translationLanguage = translationLanguage;

TalkPlusApi.GetFileMessages(messageParams, 
   (List<TPMessage> tpMessages, bool hasNext) => {
   // SUCCESS
}, (int statusCode, Exception e) => {
   // FAILURE
});

3. Send Message

Setting translationLanguages property in TPMessageSendParams object will return TPMessage objects with translated texts via ''success block (success closure). Message recipient will be able to check the message via "messageReceived" callback event.

  • TPMessageSendParams class is available starting from TalkPlus Unity SDK v0.5.3.

var sendParams = new TPMessageSendParams(channel, 
      TPMessageType.TPMessageText, 
      TPMessageContentType.TPMessageContentText);
sendParams.textMessage = textMessage;
sendParams.mentionUserIDs = mentionUserIDs;
sendParams.metaData = metaData;
sendParams.parentMessageId = parentMessageId;
sendParams.translationLanguages = translationLanguages;
            
TalkPlusApi.SendMessage(sendParams, 
   (TPMessage tpMessage) => {
   // SUCCESS
}, (int statusCode, Exception e) => {
   // FAILURE
});

4. Get Message

View a single message.

var messageParams = new TPMessageRetrievalParams(channel);
messageParams.messageId = messageId;
messageParams.translationLanguage = translationLanguage;

TalkPlusApi.GetMessage(messageParams, 
   (TPMessage tpMessage) => {
   // SUCCESS
}, (int statusCode, Exception e) => {
   // FAILURE
});

5. Reply To Message

Reply to another message.

var sendParams = new TPMessageSendParams(channel, 
      TPMessageType.TPMessageText, 
      TPMessageContentType.TPMessageContentText);
sendParams.textMessage = "hello";
sendParams.parentMessageId = "anotherMessageIdThatIamReplyingTo";
            
TalkPlusApi.SendMessage(sendParams, 
   (TPMessage tpMessage) => {
   // SUCCESS
}, (int statusCode, Exception e) => {
   // FAILURE
});

6. Mark As Read

You can mark a channel as read.

TalkPlusApi.MarkAsReadChannel(channel, (TPChannel tpChannel) => {
   // SUCCESS
}, (int statusCode, Exception e) => {
   // FAILURE
});

7. React To Message

You can add/remove reaction to a message.

// add reaction
TalkPlusApi.AddMessageReaction(tpMessage, "happy", (TPMessage tpMessage) => {
   // SUCCESS
}, (int statusCode, Exception e) => {
   // FAILURE
});

// remove reaction
TalkPlusApi.RemoveMessageReaction(tpMessage, "happy", (TPMessage tpMessage) => {
   // SUCCESS
}, (int statusCode, Exception e) => {
   // FAILURE
});

// see reactions in message object
tpMessage.getReactions();
/*
{
    "happy": [
        "user1",
        "user2"
    ],
    "sad": [
        "user3"
    ]
}
*/

8. Get Unread Message Count

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

 tpChannel.GetMessageUnreadCount(tpMessage);

9. Delete Message

You can delete your own message.

TalkPlusApi.DeleteMessage(channel, message, () => {
   // SUCCESS
}, (int statusCode, Exception e) => {
   // FAILURE
});

Last updated