Other Classes
The following classes are available globally.
-
Declaration
Swift
public final class MoEngageCampaignsCoreManager : MoEngageEnvironmentMigratable -
Declaration
Swift
public final class MoEngageLiveActivityManager : MoEngageEnvironmentMigratable -
Declaration
Swift
open class MoEngageAsyncOperation : Operation -
Declaration
Swift
public class MoEngageGeneralAsyncOperation : MoEngageAsyncOperation -
Declaration
Swift
public class MoEngageQueueManager -
Model class to enable console logging and logLevel
See moreDeclaration
Swift
@objc public class MoEngageConsoleLogConfig : NSObject, MoEngageDictionaryConvertible, MoEngageStringConvertibleModel -
/ Model class to support environmet configuration
See more -
MoEngage SDK Project specific Configuration
See moreDeclaration
Swift
@objcMembers public class MoEngageProjectConfig : NSObject -
JWT authentication details containing token and user identifier
This class encapsulates JWT authentication information required for MoEngage SDK authentication. It contains the JWT token and associated user identifier.
Usage Example
let jwtDetails = MoEngageJwtAuthenticationDetails( token: "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...", identifier: "user123" ) MoEngageSDKCore.sharedInstance.passAuthenticationDetails(jwtDetails)JWT Token Requirements
- The token should be a valid JWT (JSON Web Token)
- It should be signed with a supported algorithm
- The token should contain the required claims for MoEngage authentication
- The token should not be expired
Thread Safety
This class is immutable after initialization and is thread-safe.
Objective-C Compatibility
This class is fully compatible with Objective-C through the
See more@objcannotation.Declaration
Swift
@objc public class MoEngageJwtAuthenticationDetails : MoEngageAuthenticationDetails -
JWT Authentication Error class that inherits from the base authentication error.
This class represents JWT-specific authentication errors that occur during network requests in the MoEngage SDK. It provides JWT-specific error codes and payload information.
Usage Example
See moreclass MyJwtListener: MoEngageAuthenticationError.Listener { func onError(_ error: MoEngageAuthenticationError) { if let jwtError = error as? MoEngageJwtAuthenticationError { // Handle JWT-specific error switch jwtError.details.code { case .timeConstraintFailure: // Handle token expiration - refresh token refreshJwtToken() case .invalidSignature: // Handle signature validation failure - re-authenticate reAuthenticate() case .tokenNotAvailable: // Handle missing token - provide new token provideJwtToken() default: // Handle other errors logError(jwtError) } } } }Declaration
Swift
@objc public final class MoEngageJwtAuthenticationError : MoEngageAuthenticationError -
Base class for authentication details used in MoEngage SDK
This abstract base class provides a common interface for all authentication detail types in the MoEngage SDK. Concrete implementations should override the
asInternalDetails()method to provide the appropriate internal representation.Usage
Do not instantiate this class directly. Instead, use concrete implementations like
MoEngageJwtAuthenticationDetailsfor specific authentication methods.Declaration
Swift
@objc public class MoEngageAuthenticationDetails : NSObject -
Base Authentication Error class that encapsulates detailed error information.
This class represents authentication errors that occur during network requests in the MoEngage SDK. It provides comprehensive error details including specific error codes, human-readable messages, and account metadata for debugging and error handling purposes.
Error Handling
Authentication errors can occur due to various reasons such as token expiration, invalid signatures, malformed tokens, or network issues. This class provides structured error information to help developers handle these scenarios appropriately.
See moreDeclaration
Swift
@objc public class MoEngageAuthenticationError : NSObject -
Declaration
Swift
@objc public class MoEngageRequestBodyBuildResult : NSObject -
MoEngageSDKAppPersonalization provides APIs to track personalization experience events such as impressions and clicks.
See moreDeclaration
Swift
@objc public class MoEngageSDKAppPersonalization : NSObject -
Declaration
Swift
@objc public final class MoEngageMessagingPermissionHandler : NSObject -
A utility class for handling accessibility data in push notifications. This class provides methods to fetch and assess accessibility information from push payloads, ensuring that the content displayed adheres to accessibility settings on the device.
See moreDeclaration
Swift
public class MoEngagePushAccessibility -
Declaration
Swift
public class MoEngagePushCallBackHandler : NSObject, UNUserNotificationCenterDelegate -
Declaration
Swift
@objc public class MoEngageInboxAccessibilityData : NSObject, Codable -
MoEngage Cards Accessibility data
See moreDeclaration
Swift
@objc public class MoEngageCardAccessibilityData : NSObject, Codable -
A model representing the card data for a MoEngage campaign.
See moreDeclaration
Swift
@objcMembers public class MoEngageCardData : NSObject -
Constants for MoEngageInApps module
See moreDeclaration
Swift
@objc public class MoEngageInAppConstantsSwift : NSObject -
A custom content view that forwards specific properties to the parent container. This is used inside a UIScrollView to properly handle dataSource and other properties.
See moreDeclaration
Swift
@objc @MainActor public class MoEngageInAppScrollContentView : UIView -
Video widget view for inapps.
See moreDeclaration
Swift
@objcMembers @MainActor public class MoEngageInAppVideoWidget : UIViewextension MoEngageInAppVideoWidget: MoEngageInAppWidgetResizingCallbackListnerDelegate -
Video widget helpers.
See moreDeclaration
Swift
@objcMembers public class MoEngageInAppVideoWidgetUtils : NSObject -
Declaration
Swift
@objc public class MoEngageInAppCampaignPriorityStatInstance : NSObject, NSCoding, Codable -
Declaration
Swift
@objcMembers public class MoEngageInAppControllerProviderInterface : NSObject -
Declaration
Swift
@objcMembers public class MoEngageInAppControllerProvider : MoEngageControllerProvider -
A 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
See moreNSCodingandMoEngageDataModelprotocols for data persistence and management.Declaration
Swift
@objcMembers public class MoEngageInAppCampaignsData : NSObject, NSCoding, MoEngageDataModel -
A class that manages delivery control settings for in-app campaigns.
This class handles various aspects of campaign delivery including priority levels, persistence settings, and frequency capping metadata. It conforms to
See moreNSCodingandCodableprotocols for data persistence and serialization.Declaration
Swift
@objcMembers public class MoEngageInAppDeliveryControl : NSObject, NSCoding, Codable -
A class that manages display settings and rules for in-app messages.
This class handles the visual presentation and timing of in-app campaigns, including display rules, delays, and formatting. It conforms to
See moreNSCodingandCodableprotocols for data persistence and serialization.Declaration
Swift
@objcMembers public class MoEngageInAppDisplay : NSObject, NSCoding, Codable -
A class that defines display rules and conditions for in-app messages.
This class manages when and where in-app messages should be displayed based on screen contexts and screen names. It helps control the targeting and placement of in-app campaigns to ensure they appear at the right time and location. It conforms to
See moreNSCodingandCodableprotocols for data persistence.Declaration
Swift
@objcMembers public class MoEngageInAppDisplayRules : NSObject, NSCoding, Codable -
A class that manages frequency capping metadata for in-app campaigns.
This class controls how often in-app messages can be displayed to users, including maximum display counts, minimum delays between displays, and whether to ignore global delay settings. It conforms to
See moreNSCodingandCodableprotocols for data persistence and serialization.Declaration
Swift
@objcMembers public class MoEngageInAppFCMeta : NSObject, NSCoding, Codable -
A class that tracks the state and interaction history of an in-app campaign.
This class maintains important information about how an in-app campaign has been displayed and interacted with, including display counts, timing information, and completion status. It helps manage campaign lifecycle and prevents over-display of campaigns. It conforms to
See moreMoEngageModelObject,NSCoding, andCodableprotocols for data persistence and management.Declaration
Swift
@objcMembers public class MoEngageInAppState : MoEngageModelObject, NSCoding, Codable -
The utility class for parsing
See moreMoEngageInAppWidgetAlignment.Declaration
Swift
@objcMembers public class MoEngageInAppWidgetAlignmentUtil : NSObject -
MoEngageInAppDisplaySize Utils
See moreDeclaration
Swift
@objc public class MoEngageInAppDisplaySizeUtils : NSObject -
Model describing the navigation action for inapp
See moreDeclaration
Swift
@objc public class MoEngageInAppNavigationAction : MoEngageInAppAction -
InApp Display Rules
See moreDeclaration
Swift
@objc public class MoEngageInAppRules : NSObject -
MoEngageInAppSelfHandledData provides info about multiple selfhandled Inapps
See moreDeclaration
Swift
@objc public class MoEngageInAppSelfHandledData : NSObject -
Declaration
Swift
@objc public class MoEngageTestInAppBatchHandler : NSObject -
This class can be used for all inapp instance agnostic behaviour
See moreDeclaration
Swift
@objcMembers public final class MoEngageInAppConfigurationHandler : NSObject
Other Classes Reference