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"].nilfor non-MoEngage payloads (early-return path onlogNotificationClicked) or payloads without a campaign ID.Declaration
Swift
@objc public var campaignId: String? { get }