Flutter Web 앱이 프로덕션 AIT 환경에서 WebView 재진입 시 화면 멈추는 문제

이 글의 성격은 무엇인가요?

질문 / 문제 해결

내용을 설명해주세요

안녕하세요.

Flutter Web 기반 게임을 앱인토스 미니앱(AIT)으로 배포 하였는데,
production 환경에서 WebView 재진입 시 화면이 멈추는 문제가 발생하여 문의드립니다.

:small_blue_diamond: 개발 환경

Flutter Web (release build)

Flutter build 옵션
flutter build web --release --no-tree-shake-icons --pwa-strategy none

AIT 구조: dist/web 하위에 Flutter web build 결과 복사

webViewProps:

{
type: ‘game’,
immersive: true,
transparentNavigation: true,
hideNavigationBar: true,
backgroundAudioEnabled: true
}

SDK:

@apps-in-toss/web-framework: 1.9.2

@apps-in-toss/cli: 1.9.4

:small_blue_diamond: 테스트 환경

granite dev (샌드박스)
QR 테스트 (sandbox)
실제 production 배포 후 QR 진입

:small_blue_diamond: 증상
:white_check_mark: granite dev (localhost:3000)
여러 번 재접속 / 종료 / 재진입 모두 정상 동작

:cross_mark: production AIT 환경

첫 실행 → 정상 동작
게임 종료 (X 버튼)

동일 QR로 재진입
→ 화면이 하얗게 안넘어가고 Flutter 앱이 실행되지 않음
→ body background color 노출 상태

iOS / Android 모두 동일하게 발생합니다.

:small_blue_diamond: 추가 정보

Service Worker는 비활성화 상태
Flutter 엔진 강제 초기화/삭제 스크립트 여러 방식으로 테스트했으나 동일 증상
dist 구조는 앱인토스 권장 구조(dist/web) 유지
OOM으로 보일 만큼 리소스가 크지 않음
sandbox 환경에서는 100% 재현되지 않음

:small_blue_diamond: 질문

production AIT 환경에서 WebView가 완전히 destroy되지 않고 재사용되는 구조인지 확인 가능할까요?

Flutter Web 앱이 재진입 시 엔진 재초기화가 정상적으로 이루어지지 않는 사례가 있는지 궁금합니다.

production wrapper 환경에서 WebView lifecycle 관련 가이드가 있다면 공유 부탁드립니다.

appName (선택)

블록 드롭

Unity SDK 사용했지만 내부적으로 같은 ait sdk를 썼을것 같아서요.

비슷한 현상이 있었어요.

첫 실행은 정상동작 두 번째 부터는 재진입 불가

저의 경우는 메모리 제한을 낮췄더니 진입이 가능해 지더라고요

1개의 좋아요

안녕하세요 :slight_smile:
확인해보겠습니다!

1개의 좋아요

공유 감사합니다!

혹시 메모리 제한을 낮추셨다고 하셨는데,
Unity 쪽 설정에서 조정하신 건지,
아니면 AIT 설정 쪽에서 변경하신 건지 여쭤봐도 될까요?

Flutter Web에서도 유사한 원인일 가능성이 있을 것 같아서 참고하고 싶습니다.

확인해주셔서 감사합니다.

현재 프로덕션 , QR테스트 환경 에서만 재현되며,
sandbox(granite dev)에서는 동일 증상이 발생하지 않습니다.

첫 실행은 정상, 종료 후 동일 QR 재진입 시
Flutter 엔진이 실행되지 않고 background color만 노출되는 상태입니다.

추가로 필요한 로그나 재현 방법이 있다면 공유드리겠습니다.

배포 ID 는 019c45f7-b5a4-7d65-b9ff-58be898c1eb1 입니다.