이 글의 성격은 무엇인가요?
질문 / 문제 해결
내용을 설명해주세요
[증상]
loadFullScreenAd 호출 후 15초 이상 대기해도 ‘loaded’ 이벤트가 발생하지 않습니다.
onError 콜백도 호출되지 않아 명시적 실패도 없는 상태이며, adReady 플래그가 false로 유지되어
showFullScreenAd가 호출되지 못하고 사용자에게 “광고를 불러오는 중이에요” 안내만 노출됩니다.
출시 1일 이상 경과해도 동일 현상이 지속됩니다.
[미니앱 정보]
- 미니앱 이름: 국회의원 맛집 지도
- 광고 그룹 ID: ait.v2.live.ac31bbcfe9714741
- 광고 형식: 전면 광고 (보상형, 잠금 해제용)
[개발 환경]
- WebView 기반 미니앱 (Vite + React 19 + TypeScript)
- @apps-in-toss/web-framework 2.3.0
- 패키지 매니저: npm
[비교 포인트 — 동일 코드 패턴, 다른 결과]
이전에 출시한 미니앱 your-boyfriend-score (광고 그룹 ID: ait.v2.live.2e30a6af029d46e9)에서는
완전히 동일한 adGate.ts 코드 패턴으로 광고가 정상 출고되어 보상형 잠금 해제까지 정상 동작 중입니다.
이번 미니앱은 코드 패턴을 그대로 복제했음에도 ‘loaded’ 이벤트가 오지 않습니다.
[코드 스니펫 — preloadAd 핵심부]
const mod = await import(‘@apps-in-toss/web-framework’);
if (!mod?.loadFullScreenAd) return;
if (typeof mod.loadFullScreenAd.isSupported === ‘function’
&& !mod.loadFullScreenAd.isSupported()) return;
cleanupLoad?.();
adReady = false;
cleanupLoad = mod.loadFullScreenAd({
options: { adGroupId: ‘ait.v2.live.ac31bbcfe9714741’ },
onEvent: (event) => {
if (event.type === ‘loaded’) adReady = true;
},
onError: () => { adReady = false; },
});
[디버깅 시도 (해본 것)]
- SDK 호출 패턴을 검증된 다른 미니앱(your-boyfriend-score)과 100% 동일하게 맞춤
- dynamic import + isSupported 가드 + adReady 플래그 + cleanup 함수 모두 포함
- preload 호출 시점을 사용자 클릭보다 충분히 앞에 배치 (시트 열림 시점)
- 사용자가 10~30초 대기 후 클릭 → 동일 (타이밍 문제 배제)
- 토스 콘솔의 광고 통계 페이지 확인 → “통계 아직 제공되지 않음” 표시
[질문 / 요청]
- 해당 광고 그룹 ID(ait.v2.live.ac31bbcfe9714741)의 인벤토리 매칭 상태를 확인 부탁드립니다.
- onEvent(‘loaded’)와 onError 둘 다 발생하지 않는 케이스에서, 클라이언트 측에서 추가로 확인할 수 있는 디버그 포인트가 있을까요?
확인 부탁드립니다. 감사합니다.
개발 환경: WebView 기반 미니앱 (Vite + React 19 + TypeScript)
사용 중인 SDK 버전: @apps-in-toss/web-framework 2.3.0
환경: 실제 런칭 환경
appName (선택)
국회의원 맛집 지도
