handleInitEvent method
Initializes the ad manager and retrieves the splash ad document.
Implementation
Stream<FastSplashAdBlocState> handleInitEvent(
FastSplashAdBlocEventPayload? payload,
) async* {
if (canInitialize) {
isInitializing = true;
yield currentState.copyWith(isInitializing: true);
if (_serviceSubscription != null) _serviceSubscription!.cancel();
final adInfo = payload?.adInfo ?? currentState.adInfo;
final document = await _retrieveDocument();
_service = FastAdmobSplashAdService(adInfo: adInfo);
_appLaunchCounter = payload?.appLaunchCounter ?? 0;
payload = payload?.copyWith(
lastImpressionDate: document.lastImpressionDate,
);
_logger.debug('lastImpressionDate: ${payload?.lastImpressionDate}');
subxList.add(
_service!.onAdImpression.listen((date) {
addEvent(FastSplashAdBlocEvent.adImpression(date));
}),
);
addEvent(FastSplashAdBlocEvent.initialized(payload: payload));
}
}