전면형·보상형 광고 로드 시 onEvent/onError 미수신(timeout) 오류 문의

이 글의 성격은 무엇인가요?

질문 / 문제 해결

내용을 설명해주세요

안녕하세요.
@apps-in-tossapps-in-tossapps-in-tossapps-in-toss/web-framework 기준으로 전면형/보상형 광고와 배너 광고를 연동 중인데,
로드 콜백이 오지 않는 증상을 문의드립니다.

--

현재 상태:
개발 환경 - React We@apps-in-tossapps-in-tossView
SDK - @apps-in-toss/web-framework 2.10.8
플랫폼 - Android / 토스앱 버전 5.270.1
문제 발생 환경 - 실제 런칭 환경 & QR 테스트
(광고 테스트 id를 사용했을 경우 아무런 문제가 없으며,
실제 id를 연동하는 경우에만 미수신(timeout) 오류가 발생합니다.)
광고 그룹 - 전면형, 보상형, 배너형 광고 각 하나씩 생성 및 실제 광고 ID 연동 완료

--

사용 API:
전면형·보상형: loadFullScreenAd / showFullScreenAd (adGroupId로 타입 구분)
배너: TossAds.initialize / TossAds.attachBanner

구현 로직:

  • 홈화면에서 전면형 & 배너형 (card) 광고 로드
  • 홈화면에서 로딩화면으로 넘어가는 시점에 필요시 전면형 광고 표시
  • 로딩화면에서 배너형 (card) 광고 표시 및 보상형 & 배너형 (expanded) 광고 로드
  • 게임화면에서 보상형 & 배너형 (expanded) 광고 로드

실제로 광고가 사용되는 곳의 직전 화면에서 미리 로드하는 방식이며,
충분한 시간을 거친 후 다음 화면으로 넘어가게끔 타이밍 조정을 했음에도
응답 자체가 오고 있지 않은 상황입니다.

참고로 프리로드를 미리 해두고 해당 내용을 즉시 사용하되,
만약 프리로드해둔 값이 없을 경우 본 로드를 다시 진행하는 방식입니다.
(1) 보상형 광고, 전면형 광고, 배너형 광고 모두 큐에 넣어 한번에 하나씩만 순차적으로 로드하는 방식
(2) 배너 attachBanner를 전면/보상형 로드 이후로 지연시키는 방식
모두 시도해보았으나 결과는 동일했습니다.
혹시 몰라 SDK 역시 2.9.X, 2.10.X 버전 모두 사용해보았으나 동일한 오류가 발생합니다.

며칠 전 앱을 출시했었고, 출시 당시에는 모든 광고의 로드에서 아무런 문제가 없었습니다.
하지만 출시된 버전으로 플레이하던 중 언제부턴가 광고 로드가 아예 되지 않는 문제를 발견해
임시 로그를 넣거나 타임아웃 시간을 늘리는 등의 조치를 취한 뒤 QR 테스트를 진행했습니다.
하지만 QR 테스트에서도 마땅한 원인을 찾지 못해 문의 드립니다.

--

간헐적으로 앱 실행 직후 최초 1회는 보상형 광고 로드에 성공하는 경우가 있습니다.
첨부한 이미지에서의 좌측이 그와 관련한 이미지이며,
로드에 성공했을 경우 3초정도만에 응답을 수신하는 것을 확인하실 수 있습니다.
하지만 이 또한 두번째 보상형 광고 호출부터는 모두 미수신(timeout) 오류가 발생합니다.
또한 보시다시피 전면형 adGroupId는 세션 내내 loadFullScreenAd 이후 콜백을 받지 못하고 있습니다.

혹시 시간이 너무 짧아 미수신(timeout) 오류가 발생하는가 싶어 timeout 시간을 70초로 늘려봤으나,
첨부한 이미지에서의 우측과 같이 여전히 timeout 오류가 발생합니다.

--

증상 요약:
loadFullScreenAd 호출 후 onEvent({ type: “loaded” }) / onError가 오지 않음 (events: )
앱에서 timeout으로 실패 처리
전면형: 전 구간 timeout
보상형: 최초 1회만 간헐적 성공 후, 재로드는 다시 timeout

답변 기다리겠습니다. 감사합니다.

--

※ 첨부한 이미지 관련 참고사항:
좌측 - timeout을 8초로 잡았을 때 (기존 로직)
우측 - timeout을 70초로 잡았을 때 (진단용)
검정색 - 보상형 광고 id
파란색 - 전면형 광고 id

appName (선택)

number-baseball-plus

이미지 첨부

여전히 동일한 문제가 발생 중입니다.

7월 31일까지는 실제 광고가 정상적으로 로드되어 광고 수익도 정상적으로 발생하고 있었습니다.

8월 2일 새벽, 출시된 앱으로 플레이하던 중 보상형 광고가 전혀 로드되지 않는 문제를 최초로 발견했습니다.

원인 확인을 위해 로그를 추가하고 QR 테스트를 진행한 결과, 보상형 광고뿐만 아니라 전면형 광고 역시 loadFullScreenAd() 이후 loaded/error 이벤트가 전혀 수신되지 않고 timeout되는 동일한 증상이 발생하고 있음을 확인했습니다.

(전면형 광고는 ad-point가 일정량 이상 누적되어야 노출되는 구조라, 그동안은 단순히 ad-point가 부족한 것으로 생각하고 있었습니다.)

문제 발견 이후 Android 폰 하나를 더 구해 테스트해보았는데,

하나의 폰에서는 적어도 보상형 광고는 문제없이 로드되는 것 같고,

원래 있던 폰에서는 여전히 전면형 광고와 보상형 광고 모두 timeout 오류가 발생합니다.

개발자 커뮤니티와 채널톡에 각각 문의를 남겼으나 모두 답변을 받지 못한 상황입니다.

현재로서는 개발자 측에서 추가적으로 확인하거나 조치할 수 있는 부분은 모두 확인한 상태이며, 코드나 광고 그룹 설정도 출시 이후 변경한 적이 없습니다.

가능하시다면 광고 서버 로그 또는 해당 앱(광고 그룹)의 광고 Serving 상태를 확인 부탁드립니다.

비즈월렛 업데이트 이후 프로모션을 즉시 시작할 예정이었고 프로모션을 위한 Storage 처리는 이미 개발이 완료되어 배포된 상태이나, 본 문제로 인해 연동 및 배포를 진행하지 못하고 있습니다. 또한 출시된 앱 역시 광고 수익화가 중단된 상태라 서비스 운영에도 영향이 있는 상황입니다.

바쁘시겠지만 담당 개발팀에서 확인 부탁드립니다. 감사합니다.

안녕하세요 :slight_smile:
확인해보겠습니다.

확인해봤는데, 안드로이드에서 에러 콜백이 정상적으로 전달되지 않는 문제를 확인하였습니다.

관련 공지문을 공유드립니다.

질문자님 케이스를 확인하기위해 에러를 마주한 유저 정보 기반으로 검색해보니, load를 지나치게 많이 호출하고 있어 에러가 발생했고, 해당 에러 콜백이 정상적으로 전달되지 않아 timeout 이슈가 생겼을 것 같습니다.

확인 감사합니다.

광고를 로드할 때마다 무한 로딩이 발생하는 문제에 대해 프리로드를 강화하는 쪽으로 대응했었는데, 오히려 그 부분이 load 호출 증가로 연결됐던 것 같습니다. 전반적인 프리로드 타이밍을 개편하겠습니다.

Android 에러 콜백 전달 이슈가 해결된 뒤 크로스체크 후 본격적인 프로모션을 진행하고 싶은데, 혹시 해당 업데이트가 언제쯤 반영될 예정인지, 그리고 반영 후 별도 공지를 주실 계획이신지 여쭤보고 싶습니다.

네이티브 앱 배포가 필요한 영역이라, 차차주에 대응되어 배포될 것 같습니다.

자세한 일정은 차주에 다시 공유드리겠습니다!