---
title: MSMessage
framework: messages
role: symbol
role_heading: Class
path: messages/msmessage
---

# MSMessage

A custom message object.

## Declaration

```swift
class MSMessage
```

## Overview

Overview Use the MSMessage class to create custom message objects. To create interactive messages that can be updated by the conversation’s participants, instantiate a message with a session using the init(session:) method. Otherwise, instantiate the message using the init() method.

## Topics

### Creating Messages

- [init()](messages/msmessage/init().md)
- [init(session:)](messages/msmessage/init(session:).md)

### Message Properties

- [accessibilityLabel](messages/msmessage/accessibilitylabel.md)
- [error](messages/msmessage/error.md)
- [isPending](messages/msmessage/ispending.md)
- [layout](messages/msmessage/layout.md)
- [senderParticipantIdentifier](messages/msmessage/senderparticipantidentifier.md)
- [session](messages/msmessage/session.md)
- [shouldExpire](messages/msmessage/shouldexpire.md)
- [summaryText](messages/msmessage/summarytext.md)
- [url](messages/msmessage/url.md)

### Initializers

- [init(coder:)](messages/msmessage/init(coder:).md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSSecureCoding](foundation/nssecurecoding.md)

## See Also

### Interactive messages

- [MSSession](messages/mssession.md)
- [MSMessageLayout](messages/msmessagelayout.md)
- [MSMessageTemplateLayout](messages/msmessagetemplatelayout.md)
- [MSMessageLiveLayout](messages/msmessagelivelayout.md)
