onCampaignTriggered method

  1. @override
void onCampaignTriggered(
  1. InAppPayload payload
)
override

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);
  }
}