MoEngageCampaignState

@objc
public final class MoEngageCampaignState : NSObject, Codable, @unchecked Sendable

State of the card.

@unchecked Sendable: isClicked is mutated in place by the list UI when a card is tapped. Card campaigns (and their state) are built on the SDK instance actor and then handed to the main-actor list UI, after which isClicked is only ever read and written on the main actor — it is never accessed concurrently from more than one actor, so crossing the model between them is safe. This mirrors MoEngageCardStatusData‘s single-domain confinement rationale.

  • Totol number of times card is shown across devices

    Declaration

    Swift

    @objc
    public let showCountTotal: Int64
  • True if card is clicked else false

    Declaration

    Swift

    @objc
    public internal(set) var isClicked: Bool { get }
  • Date instance at which card is seen for the first time

    Declaration

    Swift

    @objc
    public let firstSeenTime: Date?
  • Date instance at which card is delivered

    Declaration

    Swift

    @objc
    public let firstDeliveredTime: Date?
  • Total number of times card is shown in current device

    Declaration

    Swift

    @objc
    public let showCountCurrentDevice: Int64
  • Declaration

    Swift

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

    Swift

    required public init(from decoder: any Decoder) throws
  • Declaration

    Swift

    public override var description: String { get }