이 글의 성격은 무엇인가요?
질문 / 문제 해결
내용을 설명해주세요
안녕하세요. 요청 주신 테스트 환경과 사용 코드 공유드립니다.
[테스트 환경]
- Apps in Toss WebView 기반 미니앱
- SDK 3.x
- 실제 토스 앱 QR 테스트
- 토스 앱 버전: 5.276.0
- 테스트 리워드 광고 ID: ait-ad-test-rewarded-id
[현재 증상]
loadFullScreenAd 호출까지는 확인되지만,
90초 동안 loaded 이벤트와 onError 콜백이 모두 들어오지 않고 timeout 됩니다.
실제 테스트 디버그 값은 아래와 같습니다.
bridge: detected
adGroupId: ait-ad-test-rewarded-id
prepare: started
loadFullScreenAd: called
isSupported: unknown
event: -
error: timeout (90s)
state: timeout
[현재 광고 로드 코드]
const loadSupported = safeSupported(loadFullScreenAd);
await new Promise((resolve, reject) => {
const timer = setTimeout(() => {
cleanupTimer();
reject(new Error(“광고 준비 시간이 초과됐어요.”));
}, 90_000);
function cleanupTimer() {
clearTimeout(timer);
}
loadUnsubscribe = loadFullScreenAd({
options: { adGroupId },
onEvent: (event) => {
console.info("[rewarded-ad] load 이벤트", event?.type);
if (event.type === "loaded") {
cleanupTimer();
resolve();
}
},
onError: (error) => {
console.warn("[rewarded-ad] load onError:", error);
cleanupTimer();
reject(error);
},
});
});
[광고 ID 설정]
const TEST_AD_GROUP_ID = “ait-ad-test-rewarded-id”;
const LIVE_AD_GROUP_ID = “ait.v2.live.7b5c8e4d351a42d3”;
현재 테스트에서는 TEST_AD_GROUP_ID만 사용 중입니다.
공식 문서 흐름대로
loadFullScreenAd → loaded 확인 → showFullScreenAd
순서로 구현했고,
광고 필요 화면 진입 시 미리 loadFullScreenAd를 호출합니다.
혹시 위 코드에서 잘못 사용한 부분이 있는지,
또는 WebView SDK 3.x + 토스 앱 5.276.0 환경에서
loaded / onError 둘 다 오지 않는 알려진 이슈가 있는지 확인 부탁드립니다.
감사합니다.
