[앱인토스] Error: java object gone
간밤에 sentry에서 에러 메일이 와 있었습니다.
궁금해서 내용을 살펴보니 다음과 같이 에러 내용이 써 있었어요.

원인은 WebView와 네이티브(Java/Android) 간 통신 문제였습니다.
즉, postMessage 를 호출하려는 시점에 java 쪽 브릿지 객체가 GC(가비지 컬렉션)되었거나 WebView 가 파괴된 상태라고.
[ErrorTracker] Error: Error invoking postMessage: Java object is gone [object Object]

흐름:
1. 토스 앱이 WebView를 열어서 미니앱(바꿔먹자) 로드
2. JS 코드가 GoogleAdMob.loadAppsInTossAdMob() 호출
3. 내부적으로 postMessage()로 네이티브에 "광고 로드해줘" 요청
4. 네이티브가 AdMob SDK로 실제 광고를 로드
5. 완료되면 네이티브 → WebView로 loaded 이벤트 전달
에러 원인:
- JS는 페이지 로드되자마자 바로 실행됨
- 네이티브 브릿지 객체(Java)는 아직 세팅 중
- JS: "광고 로드해줘!" → 네이티브: "나 아직 준비 안 됐어" → Java object is gone
해결방법:
1. 시작 안내 페이지 넣어서 loadAppsInTossAdMob 시간 벌어주기
2. 네이티브 브릿지가 준비되지 않았으면 재시도 해주기 (백그라운드에서 동작하므로 USER 행동에는 영향이 없다)
if (retryCount < 2) {
81 + setTimeout(() => preloadRewardedAd(retryCount + 1), 2000);
82 + }