이 글의 성격은 무엇인가요?
질문 / 문제 해결
내용을 설명해주세요
- 개발 환경: React Native (0.84)
- SDK version: 2.4.7
- 테스트 환경: QR 테스트 환경 (iOS 실기기)
안녕하세요. 리워드 전면 광고 개발 중 오류가 도저히 해결되지 않아 문의 남깁니다.
loadFullScreenAd 호출 후 loaded 이벤트는 정상 수신됩니다.
isLoaded = true 상태를 확인한 뒤 showFullScreenAd를 호출하면 failedToShow 이벤트가 항상 발생하며 광고가 표시되지 않습니다.
사용자에게는 다음 순서로 메시지가 표시됩니다:
- 첫 번째 탭 — isLoaded = false 상태에서 버튼을 누른 경우:
“광고를 준비하고 있어요. 잠시 후 다시 시도해 주세요.” - 두 번째 탭 — isLoaded = true 상태에서 버튼을 누른 경우:
Error: Ad failed to show (-> failedToShow 이벤트에서 생성된 에러)
재현 코드
// 컴포넌트 마운트 시 광고 로드
loadCleanupRef.current = loadFullScreenAd({
options: { adGroupId }, // 테스트/운영 ID 모두 시도
onEvent: (event) => {
if (event.type === ‘loaded’) {
setIsLoaded(true); // ← 정상 수신됨 (여기까지는 OK)
setIsLoading(false);
}
},
onError: (err) => { onError?.(err); },
});
// isLoaded = true 확인 후 광고 표시
showCleanupRef.current = showFullScreenAd({
options: { adGroupId },
onEvent: (event) => {
if (event.type === ‘userEarnedReward’) {
onReward(event.data);
} else if (event.type === ‘dismissed’) {
setIsShowing(false);
setIsLoaded(false);
} else if (event.type === ‘failedToShow’) {
//. ← 항상 여기로 진입
setIsShowing(false);
setIsLoaded(false);
onError?.(new Error(‘Ad failed to show’));
}
},
onError: (err) => { onError?.(err); },
});
시도한 것들
- 테스트 ID / 운영 ID 교체 — 동일 증상
- 다른 iOS 기기, 다른 토스 계정으로 테스트 — 동일 증상
- @apps-in-toss/framework 2.0.5 → 2.4.7 업그레이드 — 동일 증상
- ATT 허용 확인 — 설정 앱에서 추적 허용 상태 확인
- loadFullScreenAd.isSupported() = true — SDK 지원 환경 확인
- loaded 이벤트 정상 수신 확인 — isLoaded = true 이후에 show() 호출
질문
- loaded 이벤트까지는 정상인데 showFullScreenAd에서 항상 failedToShow가 발생하는 알려진 원인이 있나요?
- 콘솔 QR (intoss-private://) 배포 환경에서 showFullScreenAd가 동작하지 않는 제약이 있나요? (샌드박스 앱은 인앱 광고 미지원임을 알고 있어 실
토스 앱 QR 배포로 테스트했습니다) - failedToShow 발생 시 더 상세한 에러 코드나 원인을 확인할 수 있는 방법이 있나요?
감사합니다.
appName (선택)
dalto-tarot