diff --git a/lib/state/game_session_notifier.dart b/lib/state/game_session_notifier.dart index 1823578..23bf05a 100644 --- a/lib/state/game_session_notifier.dart +++ b/lib/state/game_session_notifier.dart @@ -75,6 +75,7 @@ class GameSessionNotifier extends Notifier { final stage = _stage; if (stage == null) throw StateError('no stage to restart'); startStage(stage, attempt: _attempt + 1, generator: _generatorOverride); + ref.read(adServiceProvider).onRoundStart(); if (stage.endless) { ref.read(analyticsProvider).endlessStart(); } else { diff --git a/lib/ui/screens/game_screen.dart b/lib/ui/screens/game_screen.dart index e8da014..735b961 100644 --- a/lib/ui/screens/game_screen.dart +++ b/lib/ui/screens/game_screen.dart @@ -382,8 +382,12 @@ class _GameScreenState extends ConsumerState [ if (flow != null && flow.hasNext) FilledButton( - onPressed: - ref.read(seasonFlowProvider.notifier).nextStage, + onPressed: () { + ref.read(seasonFlowProvider.notifier).nextStage(); + if (!view.endless) { + ref.read(adServiceProvider).maybeShowInterstitial(); + } + }, child: Text(l10n.nextStage), ), TextButton( @@ -460,7 +464,10 @@ class _GameScreenState extends ConsumerState l10n.stageFailed, [ FilledButton( - onPressed: notifier.restart, + onPressed: () { + ref.read(adServiceProvider).maybeShowInterstitial(); + notifier.restart(); + }, child: Text(l10n.playAgain), ), ],