MoEngageSDKLiveActivity

@available(iOS 18, *)
public enum MoEngageSDKLiveActivity

Type to manage Live Activities on the MoEngage Platform.

  • Track activity started event for the passed activity.

    Declaration

    Swift

    @available(iOSApplicationExtension, unavailable)
    public static func trackStarted<AppAttributes: ActivityAttributes>(
        activity: MoEngageActivity<AppAttributes>,
        file: StaticString = #file, fileId: StaticString = #fileID,
        method: StaticString = #function, line: UInt = #line, column: UInt = #column
    )

    Parameters

    activity

    The activity created.

  • Track activity started event for MoEngageTransActivity (transaction activities).

    Declaration

    Swift

    @available(iOSApplicationExtension, unavailable)
    public static func trackStarted<AppAttributes: ActivityAttributes>(
        activity: MoEngageTransactionActivity<AppAttributes>,
        file: StaticString = #file, fileId: StaticString = #fileID,
        method: StaticString = #function, line: UInt = #line, column: UInt = #column
    )

    Parameters

    activity

    The transaction activity created.

  • Create Live Activity campaign attributes.

    Declaration

    Swift

    public static func createAttributes<AppAttributes: ActivityAttributes>(
        withCampaign campaign: Campaign<AppAttributes>,
        file: StaticString = #file, fileId: StaticString = #fileID,
        method: StaticString = #function, line: UInt = #line, column: UInt = #column,
        completion: @escaping @MainActor(unsafe) (Campaign<AppAttributes>.Result?) -> Void
    )

    Parameters

    campaign

    The campaign attributes the live activity is populated with.

    completion

    The campiagn attributes result passed to this action.

  • Create Live Activity campaign attributes.

    Declaration

    Swift

    public static func createAttributes<AppAttributes: ActivityAttributes>(
        withCampaign campaign: Campaign<AppAttributes>,
        file: StaticString = #file, fileId: StaticString = #fileID,
        method: StaticString = #function, line: UInt = #line, column: UInt = #column
    ) async -> Campaign<AppAttributes>.Result?

    Parameters

    campaign

    The campaign attributes the live activity is populated with.

    Return Value

    The campiagn attributes result.

  • Create Live Activity campaign attributes.

    Declaration

    Swift

    public static func createAttributes<AppAttributes: ActivityAttributes>(
        withCampaign campaign: TransactionCampaign<AppAttributes>,
        file: StaticString = #file, fileId: StaticString = #fileID,
        method: StaticString = #function, line: UInt = #line, column: UInt = #column,
        completion: @escaping @MainActor(unsafe) (TransactionCampaign<AppAttributes>.Result?) -> Void
    )

    Parameters

    campaign

    The campaign attributes the live activity is populated with.

    completion

    The campiagn attributes result passed to this action.

  • Create Live Activity campaign attributes.

    Declaration

    Swift

    public static func createAttributes<AppAttributes: ActivityAttributes>(
        withCampaign campaign: TransactionCampaign<AppAttributes>,
        file: StaticString = #file, fileId: StaticString = #fileID,
        method: StaticString = #function, line: UInt = #line, column: UInt = #column
    ) async -> TransactionCampaign<AppAttributes>.Result?

    Parameters

    campaign

    The campaign attributes the live activity is populated with.

    Return Value

    The campiagn attributes result.

  • The MoEngage Live Activity campaign data.

    See more

    Declaration

    Swift

    public struct Campaign<AppAttributes> : CampaignProtocol where AppAttributes : ActivityAttributes
  • Declaration

    Swift

    public struct TransactionCampaign<AppAttributes> : CampaignProtocol where AppAttributes : ActivityAttributes
  • Declaration

    Swift

    public struct MoEngageTransactionCampaignData
  • Monitor multiple Live Activity types (single type version)

    Declaration

    Swift

    public static func monitorLiveActivities(
        types: [any ActivityAttributes.Type],
        appId: String? = nil,
        onTokenUpdate: ((MoEngageTransactionCampaignData) -> Void)? = nil
    ) async

    Parameters

    types

    Array of ActivityAttributes types to monitor (all must be the same type)

    appId

    The app ID

    onTokenUpdate

    Optional callback for token updates. The callback receives type-erased data.