이 글의 성격은 무엇인가요?
질문 / 문제 해결
내용을 설명해주세요
안녕하세요.
Apps in Toss WebView 기반 미니앱에서 리워드 광고를 연동 중인데,
광고 로드가 시작된 뒤 loaded 이벤트나 명확한 오류 응답 없이 타임아웃되어 문의드립니다.
[앱 정보]
- 앱 유형: 비게임
- WebView 기반
- Apps in Toss SDK: 3.x
- appName: next-chapter-tarot
- 광고 타입: 리워드
- 테스트 광고 ID: ait-ad-test-rewarded-id
- 운영 광고 그룹 ID: ait.v2.live.7b5c8e4d351a42d3
[현재 구현 방식]
공식 3.x 흐름에 맞춰 아래 순서로 구현했습니다.
- loadFullScreenAd 호출
- loaded 이벤트 수신 확인
- loaded 이후 showFullScreenAd 호출
- userEarnedReward 이벤트 수신 시에만 보상 지급
- dismissed / failedToShow / 오류 발생 시 보상 미지급
일반 웹 브라우저에서는 광고를 실행하지 않고,
Apps in Toss 테스트 환경에서만 동작하도록 분기되어 있습니다.
[재현 순서]
- 토스 테스트 환경에서 미니앱 실행
- 첫 번째 무료 리딩 정상 완료
- 두 번째 리딩 시
“광고 보고 한 번 더 보기” 버튼 표시 - 버튼 클릭
- UI가 “광고를 준비하고 있어요” 상태로 변경
- 이후 광고가 표시되지 않음
- 일정 시간이 지나면
“광고를 불러오는 시간을 초과했어요. 다시 시도해주세요.”
안내 표시
다시 시도해도 동일하게 재현됩니다.
[실제 현상]
- loadFullScreenAd 호출은 시작됨
- 광고 표시까지 진행되지 않음
- loaded 이벤트가 수신되지 않음
- 사용자에게 보이는 명확한 SDK 오류 없이 타임아웃
- 재시도해도 동일
[기대 동작]
- loadFullScreenAd
→ loaded
→ showFullScreenAd
→ 리워드 광고 표시
→ userEarnedReward
순서로 진행되기를 기대합니다.
[추가 확인 사항]
초기에는 구버전 호환 API를 사용했지만,
현재는 공식 3.x API인 loadFullScreenAd / showFullScreenAd 방식으로 변경했습니다.
또한 isSupported() 값이 false로 나오는 문제도 있었는데,
토스 앱 버전 정보가 unknown으로 인식되며 지원 여부가 잘못 판정되는 것으로 확인되어
현재는 실제 SDK 호출 결과를 기준으로 처리하도록 변경했습니다.
현재 로그에는 아래 항목을 남기고 있습니다.
- loadFullScreenAd 호출 여부
- loaded 이벤트 수신 여부
- onError 내용
- 사용한 adGroupId
- 현재 실행 origin
- Toss native bridge 사용 가능 여부
- 앱/환경/플랫폼 정보
혹시 SDK 3.x WebView 환경에서
리워드 광고 loadFullScreenAd 호출 후 loaded/onError가 오지 않고 멈추는
알려진 이슈가 있는지 확인 부탁드립니다.
추가로 확인해야 할
- 최소 토스 앱 버전
- 권장 SDK 버전
- 테스트 광고 ID 사용 조건
- WebView/QR 테스트 시 필요한 설정
- 광고 로드 타임아웃 관련 주의사항
이 있다면 안내 부탁드립니다.
감사합니다.
appName (선택)
넥스트챕터