digia_moengage_plugin 2.0.0
digia_moengage_plugin: ^2.0.0 copied to clipboard
MoEngage CEP plugin for the Digia SDK. Bridges MoEngage self-handled in-app campaigns into Digia's rendering engine.
Changelog #
2.0.0 - 2026-10-08 #
New Features #
- Campaigns held until Digia is ready — campaigns that MoEngage delivers before Digia has finished initializing are now held, one copy per campaign, and delivered once Digia is ready. A campaign that Digia answers with "not ready" is held again rather than lost. Held campaigns are discarded, without reporting anything to MoEngage, if initialization fails or the plugin is detached.
Improvements #
- Rebuilt on the updated CEP interface — each campaign's lifecycle is now tracked as a presentation. MoEngage is told a campaign was shown and clicked as it happens, and dismissed once it closes; a campaign that Digia declines, drops, or never renders is not reported dismissed. Errors thrown by MoEngage's shown, clicked, and dismissed calls are caught and logged instead of escaping into the host app. Requires a
digia_engageversion that includes the updated CEP interface. - Diagnostics through Digia's logger — plugin logs are now written through Digia's own logger, tagged
[DIGIA-ME], instead of MoEngage's SDK logger, so changing MoEngage's log verbosity no longer silences Digia's output. Lines use the same wording as the other CEP plugins, and MoEngage having no eligible campaign for a pull is logged at debug level rather than as a warning. A campaign that arrives before the plugin is attached is logged as a not-ready drop and returns on the next pull. - Architecture documentation — the package README now links to an architecture guide covering the data flow and the MoEngage-specific behavior of the plugin.
Bug Fixes #
- Campaign variables authored under
argsare read again — when a campaign's marketer JSON has novariablesobject, or an empty one, values under the olderargsobject are now used, so campaigns that still use that spelling interpolate their values again.variablestakes precedence when both are present. - Variables stored as JSON text are now read — a variables object pasted into a text field of the dashboard, and therefore stored as a JSON string, is now parsed. Previously every variable on that campaign was silently dropped.
- Unprintable variable values are no longer interpolated — lists, nested objects, and empty strings used as variable values are now omitted instead of being rendered as their debug text (for example
[a, b]or{x: 1}) in the campaign.
1.0.2 - 2026-09-11 #
Improvements #
- Initialization documentation — package documentation and code examples now clarify that
Digia.initializeshould be awaited before registeringMoEngagePlugin.
Bug Fixes #
- Suppression of synthetic dismissals for unrendered campaigns — self-handled campaigns that are declined by the Digia SDK or received before a delegate is registered are skipped without calling
selfHandledDismissed, preventing unrendered campaigns from recording false dismissal metrics in MoEngage.
1.0.1 - 2026-04-21 #
Bug Fixes #
- Campaign runtime variables are now read from the marketer JSON's
variablesobject instead of the olderargsobject. - A click on an inline or picture-in-picture campaign is no longer silently dropped when it arrives after the campaign has already been released. These surfaces are dismissed at route time, well before the user's actual tap, and the plugin previously had no record of the campaign left to report the click against by the time it arrived.