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 more

    Declaration

    Swift

    @objc
    public class MoEngageConsoleLogConfig : NSObject, MoEngageDictionaryConvertible, MoEngageStringConvertibleModel
  • / Model class to support environmet configuration

    See more
  • MoEngage SDK Project specific Configuration

    See more

    Declaration

    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 @objc annotation.

    See more

    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

    class 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)
                }
            }
        }
    }
    
    See more

    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 MoEngageJwtAuthenticationDetails for 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 more

    Declaration

    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 more

    Declaration

    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 more

    Declaration

    Swift

    public class MoEngagePushAccessibility
  • Declaration

    Swift

    public class MoEngagePushCallBackHandler : NSObject, UNUserNotificationCenterDelegate
  • Declaration

    Swift

    @objc
    public class MoEngageInboxAccessibilityData : NSObject, Codable
  • MoEngage Cards Accessibility data

    See more

    Declaration

    Swift

    @objc
    public class MoEngageCardAccessibilityData : NSObject, Codable
  • A model representing the card data for a MoEngage campaign.

    See more

    Declaration

    Swift

    @objcMembers
    public class MoEngageCardData : NSObject
  • Constants for MoEngageInApps module

    See more

    Declaration

    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 more

    Declaration

    Swift

    @objc
    @MainActor
    public class MoEngageInAppScrollContentView : UIView
  • Video widget view for inapps.

    See more

    Declaration

    Swift

    @objcMembers
    @MainActor
    public class MoEngageInAppVideoWidget : UIView
    extension MoEngageInAppVideoWidget: MoEngageInAppWidgetResizingCallbackListnerDelegate
  • Video widget helpers.

    See more

    Declaration

    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 NSCoding and MoEngageDataModel protocols for data persistence and management.

    See more

    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 NSCoding and Codable protocols for data persistence and serialization.

    See more

    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 NSCoding and Codable protocols for data persistence and serialization.

    See more

    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 NSCoding and Codable protocols for data persistence.

    See more

    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 NSCoding and Codable protocols for data persistence and serialization.

    See more

    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 MoEngageModelObject, NSCoding, and Codable protocols for data persistence and management.

    See more

    Declaration

    Swift

    @objcMembers
    public class MoEngageInAppState : MoEngageModelObject, NSCoding, Codable
  • The utility class for parsing MoEngageInAppWidgetAlignment.

    See more

    Declaration

    Swift

    @objcMembers
    public class MoEngageInAppWidgetAlignmentUtil : NSObject
  • MoEngageInAppDisplaySize Utils

    See more

    Declaration

    Swift

    @objc
    public class MoEngageInAppDisplaySizeUtils : NSObject
  • Model describing the navigation action for inapp

    See more

    Declaration

    Swift

    @objc
    public class MoEngageInAppNavigationAction : MoEngageInAppAction
  • InApp Display Rules

    See more

    Declaration

    Swift

    @objc
    public class MoEngageInAppRules : NSObject
  • MoEngageInAppSelfHandledData provides info about multiple selfhandled Inapps

    See more

    Declaration

    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 more

    Declaration

    Swift

    @objcMembers
    public final class MoEngageInAppConfigurationHandler : NSObject