MoEngageInAppCampaignsData
@objcMembers
public class MoEngageInAppCampaignsData : NSObject, NSCoding, MoEngageDataModelA comprehensive data container class that manages all in-app campaign data and state.
This class serves as the central repository for in-app campaign information, including
different types of campaigns (general, triggered, self-handled, non-intrusive), campaign
states, timing controls, and synchronization settings. It conforms to NSCoding and
MoEngageDataModel protocols for data persistence and management.
- 
                  
                  The duration for flushing campaign data, set to 10 microseconds for optimal performance. DeclarationSwift public static var flushDuration: DispatchTimeInterval { get }
- 
                  
                  Array of general in-app campaigns that are displayed based on standard rules. DeclarationSwift public var generalInApps: [MoEngageInAppCampaignMeta]
- 
                  
                  Array of in-app campaigns that are triggered by specific events. DeclarationSwift public var triggerInApps: [MoEngageInAppCampaignMeta]
- 
                  
                  Array of in-app campaigns that are handled by the app itself rather than the SDK. DeclarationSwift public var selfHandledInApps: [MoEngageInAppCampaignMeta]
- 
                  
                  Array of campaigns that are triggered at the start of a new session. DeclarationSwift public var sessionTriggeredCampaigns: [MoEngageInAppCampaignMeta]
- 
                  
                  Array of in-app campaign state data for tracking display and interaction history. DeclarationSwift public var inAppStateData: [MoEngageInAppState]
- 
                  
                  Global delay in seconds applied to all in-app campaigns. Defaults to 0 (no global delay). DeclarationSwift public var globalDelay: Double
- 
                  
                  Synchronization delay in seconds for syncing campaign data with the server. Defaults to 900 seconds (15 minutes). DeclarationSwift public var syncDelay: Double
- 
                  
                  Timestamp when the in-app campaigns were last updated from the server. DeclarationSwift public var inAppLastUpdatedTime: Date
- 
                  
                  Timestamp when an in-app campaign was last shown to the user. DeclarationSwift public var inAppLastShownTime: Date
- 
                  
                  Dictionary mapping screen names to arrays of non-intrusive in-app campaigns. These campaigns are displayed without blocking user interaction. DeclarationSwift public var nonIntrusiveInApps: [String : [MoEngageInAppCampaignMeta]]
- 
                  
                  Optional test in-app campaign for development and testing purposes. DeclarationSwift public var testInApp: MoEngageInAppCampaignMeta?
- 
                  
                  Default initializer for the campaigns data container. DeclarationSwift public override init()
- 
                  
                  Initializes the campaigns data from an NSCoder for unarchiving. DeclarationSwift public required init?(coder: NSCoder)ParameterscoderThe coder to use for unarchiving. Return ValueAn initialized campaigns data instance. 
- 
                  
                  Encodes the campaigns data using NSCoder for archiving. DeclarationSwift public func encode(with coder: NSCoder)ParameterscoderThe coder to use for archiving. 
- 
                  
                  Encodes the campaigns data to an encoder. Throws Encoding errors if the data cannot be encoded.DeclarationSwift public func encode(to encoder: any Encoder) throwsParametersencoderThe encoder to write data to. 
- 
                  
                  Initializes the campaigns data from a decoder. Throws Decoding errors if the data is malformed.DeclarationSwift public required init(from decoder: any Decoder) throwsParametersdecoderThe decoder to read data from. 
