핵심 요약
토스가 플레이어블 광고를 자체 구현하고 MRAID 기반 브릿지 구조로 소재 규격화를 달성해 배포 속도와 노출 신뢰성을 높였습니다.
구현 방법
- 모듈화: MraidSDK, NativeBridge, NativeInvokeHandler, EventManager로 구성; window.mraid와 window.tossPlayableAds를 각각 제공
- 배포 운영: mraid.js를 60초 캐시로 서버에서 공급, 단일 최신 버전 전략 채택; 불변 파일 원칙과 감사 로그로 변경 이력 관리
- 신호 체계: font.ready, img.decode, 첫 페인트, MutationObserver, 2회 requestAnimationFrame 기반의 rendered 신호 도입; 2초 타임아웃 및 2.3초 안전망
- 방어/제한: SDK 얼림, 핸들러 격리, 외부 경로는 mraid.open()로만 가능
- 엔드카드 연결: tossPlayableAds로 엔드카드 UI를 연동
주요 결과
- 배포 속도와 운영 안정성 개선, 단일 최신 버전 관리로 적용 범위 축소
- 노출 판단 신뢰성 강화(렌더링 신호 도입)
- 엔드카드 지원 및 악의적 수정 방지 체계 확보

