BBM Enterprise iOS SDK  R3
BBMChatMessageSendMessage Class Reference
Inheritance diagram for BBMChatMessageSendMessage:
BBMJSONMessage

Instance Methods

(id) - initWithChatId:tag:
 
- Instance Methods inherited from BBMJSONMessage
(NSString *) - requestData
 
(NSDictionary *) - requestDict
 

Properties

NSString * chatId
 
NSString * tag
 
NSString * content
 
BBMChatMessageSendMessage_Datadata
 
NSDictionary * rawData
 
NSString * file
 
BBMChatMessageSendMessageFilePolicy filePolicy
 
NSString * thumb
 
BBMChatMessageSendMessageThumbPolicy thumbPolicy
 

Detailed Description

Represents the chatMessageSend protocol message.

Send a new message within an existing hosted chat. This will result in a 'listAdd' on the 'listChatMessage' list, and the message will be sent to the BBM infrastructure.

Property Documentation

◆ chatId

- (NSString*) chatId
readnonatomicstrong

The identifier of the chat in which to send the message.

◆ content

- (NSString*) content
readwritenonatomicstrong

Holds the text content of the message, when the 'tag' has such a concept; otherwise omitted.

This field may not contain more than 2000 Unicode code points.

The total size of the 'content' in UTF-8 is subject to a cumulative size limit when combined with the size of the 'data' object (encoded as JSON in UTF-8) and the size of the 'thumb' attachment. These three fields combined must not exceed 71680 bytes (70 KB).

◆ data

- (BBMChatMessageSendMessage_Data*) data
readwritenonatomicstrong

This field contains opaque data managed by the app that is sent with the message. Unless specifically noted, bbmcore does not examine or modify this JSON object.

This can contain a single JSON object, or it can not exist at all. It cannot contain any other JSON type.

Many 'tag' values have a corresponding object defined as a child of the 'data' object with a key equal to the 'tag'. All 'tags' with such a corresponding child of 'data' require that child to be present. Other tags have no such requirement.

The 'data' object can also contain other key-value pairs independently from the 'tag'.

The total size of the 'data' object (encoded as JSON in UTF-8) is subject to a cumulative size limit when combined with the size of the 'thumb' attachment and the 'content' (also in UTF-8). These three fields combined must not exceed 71680 bytes (70 KB).

◆ file

- (NSString*) file
readwritenonatomicstrong

A path to a large file that is not carried in the message. This file is uploaded by bbmcore automatically.

A maximum file size limit may be imposed by bbmcore. Such limits are not defined by BBMDS.

◆ filePolicy

- (BBMChatMessageSendMessageFilePolicy) filePolicy
readwritenonatomicassign

This enumeration tells bbmcore what to do with the file referenced by 'file'. For all other documentation, please see 'thumbPolicy'.

◆ rawData

- (NSDictionary*) rawData
readwritenonatomicstrong

This field contains a JSON data object that is not defined in BBMDS.

◆ tag

- (NSString*) tag
readnonatomicstrong

Indicates the type of message.

Except for the reserved tags 'Join', 'Leave', 'Subject', and 'Sticker', the app may include any arbitrary value in the 'tag' field that is meaningful to it.

◆ thumb

- (NSString*) thumb
readwritenonatomicstrong

A path to a small file that is carried in the message.

The thumb file may contain no more than 56320 bytes (55 KB).

The total size of the thumb file is subject to a cumulative size limit when combined with the size of the 'data' object (encoded as JSON in UTF-8) and the size of the 'content' (in UTF-8). These three fields combined must not exceed 71680 bytes (70 KB).

◆ thumbPolicy

- (BBMChatMessageSendMessageThumbPolicy) thumbPolicy
readwritenonatomicassign

This enumeration tells bbmcore what to do with the file referenced by 'thumb'. If not provided a default of Copy is used. Note that in the case of Delete and Move, bbmcore will not delete the source file if the request was invalid to the point of being indecipherable, or if bbmcore lacks permissions to delete the file (including when the source file is open and the OS doesn't permit open files to be deleted).