MoEngageSDKInbox

@objc
public class MoEngageSDKInbox : NSObject, @unchecked Sendable

Class to configure the Inbox

Concurrency

@unchecked Sendable: the singleton holds no mutable state — every method is a stateless dispatcher into MoEngageAction. Mirrors MoEngageSDKCards.

  • Singleton instance

    Declaration

    Swift

    @objc
    public static let sharedInstance: MoEngageSDKInbox

Inbox Methods

  • Fetch inbox messages.

    Declaration

    Swift

    public func getInboxMessages(
        forAppID appID: String? = nil,
        isolation actor: isolated (any Actor)? = #isolation,
        withCompletionBlock completionBlock: @escaping @MainActor(unsafe) ([MoEngageInboxEntry], MoEngageAccountMeta?) -> Void
    )

    Parameters

    appID

    MoEngage Account Identifier.

    isolation

    The caller’s actor isolation, captured automatically.

    completionBlock

    completion block with inbox messages and account information, invoked on the main thread.

  • Declaration

    Swift

    @_disfavoredOverload
    @objc
    public func getInboxMessages(forAppID appID: String? = nil, withCompletionBlock completionBlock: @escaping @MainActor (Array<MoEngageInboxEntry>, MoEngageAccountMeta?) -> Void)
  • Fetch inbox message count

    Declaration

    Swift

    public func getAllNotificationCount(
        forAppID appID: String? = nil,
        isolation actor: isolated (any Actor)? = #isolation,
        withCompletionBlock completionBlock: @escaping @MainActor(unsafe) (Int, MoEngageAccountMeta?) -> Void
    )

    Parameters

    appID

    MoEngage Account Identifier.

    isolation

    The caller’s actor isolation, captured automatically.

    completionBlock

    completion block with inbox message count and account information, invoked on the main thread.

  • Declaration

    Swift

    @_disfavoredOverload
    @objc
    public func getAllNotificationCount(forAppID appID: String? = nil, withCompletionBlock completionBlock: @escaping @MainActor (Int, MoEngageAccountMeta?) -> Void)
  • Fetch unread inbox message count.

    Declaration

    Swift

    public func getUnreadNotificationCount(
        forAppID appID: String? = nil,
        isolation actor: isolated (any Actor)? = #isolation,
        withCompletionBlock completionBlock: @escaping @MainActor(unsafe) (Int, MoEngageAccountMeta?) -> Void
    )

    Parameters

    appID

    MoEngage Account Identifier.

    isolation

    The caller’s actor isolation, captured automatically.

    completionBlock

    completion block with unread message count and account information, invoked on the main thread.

  • Declaration

    Swift

    @_disfavoredOverload
    @objc
    public func getUnreadNotificationCount(forAppID appID: String? = nil, withCompletionBlock completionBlock: @escaping @MainActor (Int, MoEngageAccountMeta?) -> Void)
  • Perform the action associated with Inbox message

    Declaration

    Swift

    public func processInboxNotification(
        withCampaignID cid: String,
        forAppID appID: String? = nil,
        isolation actor: isolated (any Actor)? = #isolation
    )

    Parameters

    cid

    campaign Identifier of the inbox message

    appID

    MoEngage Account Identifier.

    isolation

    The caller’s actor isolation, captured automatically.

  • Declaration

    Swift

    @_disfavoredOverload
    @objc
    public func processInboxNotification(withCampaignID cid: String, forAppID appID: String? = nil)
  • Mark the inbox message as Clicked and Read.

    Declaration

    Swift

    public func markInboxNotificationClicked(
        withCampaignID cid: String,
        forAppID appID: String? = nil,
        isolation actor: isolated (any Actor)? = #isolation,
        completionHandler: (@MainActor(unsafe) (Bool) -> Void)? = nil
    )

    Parameters

    cid

    campaign Identifier of the inbox message

    appID

    MoEngage Account Identifier.

    isolation

    The caller’s actor isolation, captured automatically.

    completionHandler

    completion block with Bool value indicating the status of update, invoked on the main thread.

  • Declaration

    Swift

    @_disfavoredOverload
    @objc
    public func markInboxNotificationClicked(withCampaignID cid: String, forAppID appID: String? = nil, completionHandler: (@MainActor (Bool) -> Void)? = nil)
  • Track Inbox clicked event

    Declaration

    Swift

    public func trackInboxClick(
        withCampaignID cid: String,
        forAppID appID: String? = nil,
        isolation actor: isolated (any Actor)? = #isolation
    )

    Parameters

    cid

    campaign Identifier of the inbox message

    appID

    MoEngage Account Identifier.

    isolation

    The caller’s actor isolation, captured automatically.

  • Declaration

    Swift

    @_disfavoredOverload
    @objc
    public func trackInboxClick(withCampaignID cid: String, forAppID appID: String? = nil)
  • Remove inbox message based on Campaign id

    Declaration

    Swift

    public func removeInboxMessage(
        withCampaignID cid: String,
        forAppID appID: String? = nil,
        isolation actor: isolated (any Actor)? = #isolation,
        completionHandler: (@MainActor(unsafe) (Bool) -> Void)? = nil
    )

    Parameters

    cid

    Campaign Identifier of the inbox message

    appID

    MoEngage Account Identifier.

    isolation

    The caller’s actor isolation, captured automatically.

    completionHandler

    Completion block with Bool value indicating the status of update, invoked on the main thread.

  • Declaration

    Swift

    @_disfavoredOverload
    @objc
    public func removeInboxMessage(withCampaignID cid: String, forAppID appID: String? = nil, completionHandler: (@MainActor (Bool) -> Void)? = nil)
  • Remove all inbox messages

    Declaration

    Swift

    public func removeInboxMessages(
        forAppID appID: String? = nil,
        isolation actor: isolated (any Actor)? = #isolation,
        completionHandler: (@MainActor(unsafe) (Bool) -> Void)? = nil
    )

    Parameters

    appID

    MoEngage Account Identifier.

    isolation

    The caller’s actor isolation, captured automatically.

    completionHandler

    Completion block with Bool value indicating the status of update, invoked on the main thread.

  • Declaration

    Swift

    @_disfavoredOverload
    @objc
    public func removeInboxMessages(forAppID appID: String? = nil, completionHandler: (@MainActor (Bool) -> Void)? = nil)

Delegate Setup

UI Handling