onCampaignTriggered method
Called when the CEP has evaluated a campaign and it is ready to render. Digia routes the payload to nudge or inline surfaces based on command.
Implementation
@override
void onCampaignTriggered(InAppPayload payload) {
if (!_hostMounted) {
debugPrint(
'[Digia] WARNING: A campaign payload arrived but DigiaHost is not '
'mounted. Wrap your app root with DigiaHost to display experiences.',
);
}
final displayType =
(payload.content['command'] as String? ?? 'SHOW_INLINE');
final placementId = payload.content['placementId'] as String?;
if (displayType == 'SHOW_INLINE' && placementId != null) {
// Store inline campaign for DigiaSlot to render.
inlineController.setCampaign(placementId, payload);
} else {
// Modal campaigns: route to DigiaHost via the shared controller.
_controller.show(payload);
}
}