MoEngageInboxEntry

@objc
public class MoEngageInboxEntry : NSObject, NSCoding, MoEngageStorage.FileDataModel, @unchecked Sendable

Inbox Message model

Concurrency

@unchecked Sendable: read state (isRead, clickedDate, receivedDate, sentTime) is immutable — the SDK updates it by replacing the stored entry with a copy (markingRead(clickedDate:)), never by mutating an instance the integrator may already hold. The remaining var properties are legacy public-settable surface that the SDK never writes after an instance is handed out. NSCoding is retained — the legacy ArchivedFileStorage migration chain decodes archives directly into this class via its classNameMap.

  • Declaration

    Swift

    public static var flushNanoSeconds: UInt64 { get }
  • MoEngage Account Identifier

    Declaration

    Swift

    @objc
    public let appID: String
  • Unique campaign Identifier

    Declaration

    Swift

    @objc
    public var campaignID: String?
  • Entire notification payload

    Declaration

    Swift

    @objc
    public var notificationPayloadDict: [String : Any]
  • Dict which contains additional key-value for when Navigate To Screen action is performed.

    Declaration

    Swift

    @objc
    public var screenDataDict: [String : Any]
  • Custom moengage dict in notification payload

    Declaration

    Swift

    @objc
    public var moengageDict: [String : Any]
  • Notification title

    Declaration

    Swift

    @objc
    public let notificationTitle: String
  • Notification subtitle

    Declaration

    Swift

    @objc
    public let notificationSubTitle: String
  • Notification body

    Declaration

    Swift

    @objc
    public var notificationBody: String
  • Notification sound

    Declaration

    Swift

    @objc
    public let notificationSound: String?
  • Media url of the basic notification

    Declaration

    Swift

    @objc
    public let notificationMediaURL: String?
  • TimeStamp when notification is received by the device

    Declaration

    Swift

    @objc
    public let receivedDate: Date?
  • TimeStamp when notification is clicked by the user

    Declaration

    Swift

    @objc
    public let clickedDate: Date?
  • Inbox expiry date post which message will be removed from inbox. By defauly its 30 days

    Declaration

    Swift

    @objc
    public var inboxExpiryDate: Date?
  • If the action is Navigate to Screen, then screenName indicates the value.

    Declaration

    Swift

    @objc
    public let screenName: String?
  • If the action is DeepLink, the deepLinkURL indicates the url

    Declaration

    Swift

    @objc
    public let deepLinkURL: String?
  • If the action is RichLanding, then richLandingURL indicates the value.

    Declaration

    Swift

    @objc
    public let richLandingURL: String?
  • If the action is Coupon Code, then couponCode indicates the value.

    Declaration

    Swift

    @objc
    public let couponCode: String?
  • Value indicates if the inbox message is clicked by the user.

    Declaration

    Swift

    @objc
    public let isRead: Bool
  • The groupKey property used to identify group of notifications. When multiple related notifications are sent, they can be bundled together and displayed as one group with the help of this key, If there’s no grouping of notifications or if a notification does not belong to any group, groupKey could be nil.

    Declaration

    Swift

    @objc
    public let groupKey: String?
  • The collapseId property is used for the collapsing/replacement feature of iOS notifications. The system uses this identifier to replace an existing notification with a new one having the same collapseId, keeping the most recent notification and discarding others. If the notifications are not meant to be collapsed/replaced, the collapseId would be nil.

    Declaration

    Swift

    @objc
    public let collapseId: String?
  • Timestamp of notification sent - currently not used in iOS as system replaces notifications by itself, added to be in parity with Android & Hybrids

    Declaration

    Swift

    @objc
    public let sentTime: Date?
  • Accessibility Data associated with notification

    Declaration

    Swift

    @objc
    public let accessibilityData: MoEngageInboxAccessibilityData?
  • Declaration

    Swift

    public func encode(to encoder: Encoder) throws
  • Declaration

    Swift

    public override var description: String { get }