handleAdImpressionEvent method
Updates the state after an ad impression.
Implementation
Stream<FastSplashAdBlocState> handleAdImpressionEvent(
FastSplashAdBlocEventPayload payload,
) async* {
final document = await _retrieveDocument();
final lastImpressionDate =
payload.lastImpressionDate ?? DateTime.now().toUtc();
_logger.debug('Ad impression: $lastImpressionDate');
await _dataProvider.persistSplashAdDocument(
document.copyWith(lastImpressionDate: lastImpressionDate),
);
yield currentState.copyWith(lastImpressionDate: lastImpressionDate);
}