MoESelfHandledPersonalizeHelper

Provides tracking-only APIs for personalized experiences and offerings that the host app fetched on its own.

This helper deliberately exposes no fetch APIs. The app obtains the experience or offering data outside the SDK and passes the resulting attributes back here as raw maps, so that impressions and clicks are still attributed to the right campaign. When the data was fetched through MoEPersonalizeHelper.fetchExperience or MoEPersonalizeHelper.fetchExperiences, use the tracking APIs on MoEPersonalizeHelper instead: they take a typed com.moengage.campaigns.personalize.model.ExperienceCampaign rather than an attribute map, so the compiler catches what this helper can only validate at runtime.

Fire and forget. Every API here returns immediately and queues the event on an SDK background thread. There is no success or failure callback, and nothing is reported back to the caller.

Mandatory attributes. Each event requires a fixed set of keys, copied verbatim from the payload the dashboard produced — see the individual methods. An attribute map missing any of them is discarded and logged instead of tracked. On a debug build with the integration validator enabled, the SDK additionally raises an UnsupportedOperationException on a background thread so the mistake surfaces during development; release builds only log.

Author

Arshiya Khanum

Since

2.1.0

Functions

Link copied to clipboard
fun experienceClicked(context: Context, experienceAttributes: List<Map<String, String>>, workspaceId: String? = null)

Tracks an "experience clicked" interaction for several self-handled experiences in one call.

fun experienceClicked(context: Context, experienceAttributes: Map<String, String>, workspaceId: String? = null)

Tracks an "experience clicked" interaction for a single self-handled experience.

Link copied to clipboard
fun experienceShown(context: Context, experienceAttributes: List<Map<String, String>>, workspaceId: String? = null)

Tracks an "experience shown" impression for several self-handled experiences in one call.

fun experienceShown(context: Context, experienceAttributes: Map<String, String>, workspaceId: String? = null)

Tracks an "experience shown" impression for a single self-handled experience.

Link copied to clipboard
fun offeringClicked(context: Context, offeringAttribute: Map<String, Any>, experienceAttribute: Map<String, Any>? = null, workspaceId: String? = null)

Tracks an "offering clicked" interaction, and the "experience clicked" interaction of the associated experience when experienceAttribute is supplied.

Link copied to clipboard
fun offeringShown(context: Context, offeringAttribute: Map<String, Any>, workspaceId: String? = null)

Tracks an "offering shown" impression for a single offering.