이 글의 성격은 무엇인가요?
질문 / 문제 해결
내용을 설명해주세요
개발환경: WebView
SDK 버전: @apps-in-toss/web-framework 2.10.4, @apps-in-toss/cli 2.10.4
테스트 환경: dev-test / AIT dev-debug 빌드 / iOS 실기기
앱명: dev-test
빌드 버전: 0.2
최근 deploymentId: 019f4706-75c8-736b-9df9-4db0a032177f
문제:
AIT WebView 게임에서 AIT.showFullScreenAd로 AdMob interstitial test ad를 표시할 때,
우상단 X 버튼이 간헐적으로 눌리지 않습니다.
처음에는 앱 DOM이 광고 터치를 방해할 가능성을 의심했습니다.
그래서 광고 표시 중 우리 앱의 RootView를 숨기고 pointer-events/user-select/touch-callout을 차단했습니다.
이 상태에서는 첫 번째 광고의 X 버튼은 눌렸지만, 두 번째 광고에서는 X 버튼이 눌리지 않았습니다.
이후 debug 환경의 eruda나 테스트 환경에서 body 하위에 떠 있는 모든 DOM까지 숨기도록 추가 조치했습니다. 그 결과 연속 2개의 테스트 전면광고에서는 X 버튼이 정상 동작한 사례가 있었습니다.
하지만 여전히 증상은 간헐적으로 재현되는 것으로 보입니다.
X 버튼이 안 눌리는 상태에서 X 영역을 길게 누르면 iOS “글쓰기 도구” 메뉴가 뜹니다.
이는 AdMob native close 영역이 터치를 받지 못하고, 아래 WKWebView 계층이 터치를 받는 상황으로 의심됩니다.
또 다른 증상:
간헐적으로 광고의 X 버튼 자체가 표시되지 않는 경우도 있습니다.
이때 iOS 홈 버튼을 눌러 앱을 백그라운드로 보낸 뒤 다시 돌아오면 X 버튼이 다시 표시됩니다.
하지만 다시 표시된 X 버튼도 눌리지 않고, 길게 누르면 iOS “글쓰기 도구”가 뜹니다.
앱 측 조치:
광고 show 중 WebView 내부 DOM을 가능한 한 모두 숨기기 위해 다음 처리를 적용했습니다.
- RootView 숨김
- body children 전체 숨김
- display:none
- visibility:hidden
- pointer-events:none
- touch-action:none
- user-select:none
- -webkit-touch-callout:none
- inert
- aria-hidden
그럼에도 X 버튼 미동작 및 iOS 글쓰기 도구 노출이 발생하므로,
WebView 내부 DOM보다는 AIT iOS 런타임에서 AdMob native overlay와 WKWebView 계층 간 z-order 또는 hit-test 처리가 간헐적으로 깨지는 문제로 의심됩니다.
appName (선택)
dev-test
