reportInlineTimerRendered method

void reportInlineTimerRendered(
  1. CEPTriggerPayload payload,
  2. ResolvedInlineTimerConfig config,
  3. InlineTimerState state,
  4. Duration remaining,
)

Implementation

void reportInlineTimerRendered(
  CEPTriggerPayload payload,
  ResolvedInlineTimerConfig config,
  InlineTimerState state,
  Duration remaining,
) {
  if (!identical(_controller.getSlot(config.slotKey), payload)) return;
  final current = _controller.getInlineConfig(config.slotKey);
  if (current is! InlineTimerCampaignConfig ||
      !identical(current.resolvedConfig, config)) {
    return;
  }
  final ruleId = config.rules[state]?.id ?? state.name;
  _events.digiaStateImpression(
    payload,
    ruleId,
    TimerAnalyticsEvent(
      InlineCanvasViewed(slotKey: config.slotKey, screenName: _currentScreen),
      TimerEventContext(ruleId, _timerRemainingBucket(remaining),
          config.deadlineSource.name),
    ),
  );
}