fix(monetization): 버프 종료 버그 수정 (게임 시간 기준 통일)

- 배속 부스트: 실시간 타이머 → 게임 시간(elapsedMs) 기준 종료
- 자동부활 버프: 만료 시 autoReviveEndMs null 초기화 추가
- 매 틱마다 _checkSpeedBoostExpiry(), _checkAutoReviveExpiry() 호출
- 광고 직후 앱 resume 시 reload 방지 (isRecentlyShowedAd)
- 앱 pause/reload와 무관하게 버프 정상 종료
This commit is contained in:
JiWoong Sul
2026-01-20 18:13:40 +09:00
parent 2b4ea44623
commit 7b9f1f87a6
2 changed files with 103 additions and 47 deletions

View File

@@ -289,11 +289,15 @@ class _GamePlayScreenState extends State<GamePlayScreen>
}
// 모바일: 앱이 포그라운드로 돌아올 때 전체 재로드
// (광고 표시 중에는 reload 건너뛰기 - 배속 부스트 등 상태 유지)
// (광고 표시 중 또는 최근 광고 시청 후에는 reload 건너뛰기)
if (appState == AppLifecycleState.resumed && isMobile) {
_audioController.resumeAll();
if (!widget.controller.isShowingAd) {
if (!widget.controller.isShowingAd &&
!widget.controller.isRecentlyShowedAd) {
_reloadGameScreen();
} else {
// 광고 직후: 게임 재개만 (reload 없이 상태 유지)
widget.controller.resume();
}
}
}