Other Protocols

The following protocols are available globally.

Date Provider Abstraction

  • Date provider abstraction for testability

    Provides a consistent interface for obtaining the current date/time, allowing for deterministic time-based testing through mock implementations.

    See more

    Declaration

    Swift

    public protocol MoEngageDateProvider
  • The delegate that handles fullscreen resize.

    See more

    Declaration

    Swift

    @objc
    public protocol MoEngageInAppWidgetResizingDelegate : NSObjectProtocol
  • Listen to widget resize callback.

    See more

    Declaration

    Swift

    @objc
    public protocol MoEngageInAppWidgetResizingCallbackListnerDelegate
  • Declaration

    Swift

    @objc
    public protocol MoEngageTestInAppProtocol
  • Protocol that both MoEngageActivityAttributes and MoEngageTransactionActivityAttributes conform to

    See more

    Declaration

    Swift

    @available(iOS 18, *)
    public protocol MoEngageActivityAttributesProtocol : ActivityAttributes where Self.ContentState : MoEngageContentStateProtocol
  • Protocol for campaign data that both regular and transaction campaigns conform to

    See more

    Declaration

    Swift

    @available(iOS 18, *)
    public protocol MoEngageCampaignProtocol : Decodable, Encodable, Hashable
  • Protocol for instance data that both regular and transaction instances conform to

    See more

    Declaration

    Swift

    @available(iOS 18, *)
    public protocol MoEngageInstanceProtocol : Decodable, Encodable, Hashable
  • Protocol for content state that both regular and transaction content states conform to

    See more

    Declaration

    Swift

    @available(iOS 18, *)
    public protocol MoEngageContentStateProtocol : Decodable, Encodable, Hashable
  • Protocol defining common properties for campaign result types

    See more

    Declaration

    Swift

    @available(iOS 18, *)
    public protocol CampaignResultProtocol
  • Protocol defining common properties for campaign models

    See more

    Declaration

    Swift

    @available(iOS 18, *)
    public protocol CampaignProtocol