MoEngageNotificationTrackingResult

@objc(MoEngageNotificationTrackingResult)
public final class MoEngageNotificationTrackingResult : NSObject, @unchecked Sendable

Success payload for MoEngageLogNotificationTask. Resolves onSuccess after the impression is accepted into the local batch storage. Returns onFailure(.duplicateImpression) if the same impression payload was already tracked in a prior call — applies to logNotificationReceived(withPayload:) only; the logNotificationClicked variants do not dedup.

Customers identify which event was tracked from the method they called — no kind discriminator on the Result.

Carries the full notification payload that was tracked. Nested aps / moengage dictionaries and primitive values pass through unchanged; only the top-level AnyHashable keys are normalised to String (push-payload keys are String in practice — non-string keys fall back to String(describing:)).

  • Full notification payload that was tracked.

    Declaration

    Swift

    @objc
    public let payload: [String : Any]
  • Convenience accessor — extracts the MoEngage campaign ID from payload["moengage"]["cid"]. nil for non-MoEngage payloads (early-return path on logNotificationClicked) or payloads without a campaign ID.

    Declaration

    Swift

    @objc
    public var campaignId: String? { get }