api/internal/campaign/campaign_model library

Classes

CampaignConfigFactory
Factory (registry) mapping a campaignType to the builder that decodes its config. Supporting a new renderable type is an open/closed change: add one entry here — CampaignModel.fromJson is untouched, and unknown types keep falling through to UnsupportedCampaignConfig.
CampaignConfigModel
The parsed, typed config for a campaign.
CampaignModel
A single campaign fetched from the Digia backend.
GuideCampaignConfig
A guide campaign — anchored tooltips / spotlights surfaced at DigiaAnchor sites via the showcaseview engine, driven by the GuideOrchestrator.
InlineBannerCampaignConfig
An image Banner campaign surfaced through a DigiaSlot.
InlineCarouselCampaignConfig
An inline carousel campaign, surfaced through a DigiaSlot.
InlineCountdownCampaignConfig
A fixed-template countdown offer surfaced through a DigiaSlot.
InlineStoryCampaignConfig
An inline story campaign, surfaced through a DigiaSlot as a row of tappable story cards that open a full-screen viewer.
NudgeCampaignConfig
A nudge campaign — an overlay (bottom sheet / dialog) presented over the app.
PipCampaignConfig
A picture-in-picture campaign — a small, draggable media window scoped to one screen that expands to full screen on tap. Its expanded region is drawn by the nudge renderer, so it shares that content model rather than forking.
SurveyCampaignConfig
A survey campaign — a branching questionnaire presented as an overlay (bottom sheet / dialog) via the SurveyOrchestrator and SurveyRenderer.
UnsupportedCampaignConfig
A campaign whose type is recognised but not rendered by the Flutter SDK.

Typedefs

CampaignConfigBuilder = CampaignConfigModel? Function(Map<String, dynamic> json, DesignTokenCatalog designTokens)
Builds a CampaignConfigModel from a campaign's JSON, or returns null to signal the campaign should be dropped (its config is missing/invalid).