
프론트엔드
토스는 어떻게 광고 속에 게임을 넣었을까
두줄요약
토스는 게임 광고 소재를 받지 못하던 문제를 해결하기 위해 MRAID 기반 플레이어블 광고 SDK를 직접 만들었습니다. 실제 호출 범위만 구현하고 렌더 완료 감지와 배포 계약을 분리해 운영했습니다.
핵심 내용
- 토스 지면에 게임 광고가 적었던 문제를, 게임 광고주가 쓰는 플레이어블 소재를 받지 못하는 구조로 재정의
- 광고 소재와 네이티브 앱 사이의 브릿지 규약으로 MRAID를 선택하고, 실제 호출하는 API만 부분 구현
- mraid.js를 네 개 모듈로 나눠 송신·수신·표준 외 확장·렌더 완료 감지를 처리
- 소재를 믿지 않는 전제로 전역 객체 고정, 핸들러 격리, mraid.open() 단일 خروج 경로, 서버 서빙과 계약 관리로 운영 단순화
적용해볼 점
- 표준 전체가 아니라 실제 사용 범위만 구현해 유지 비용과 호환성 부담을 줄이는 접근
- 렌더 완료 판정을 단일 신호가 아닌 다중 신호와 타임아웃으로 보수적으로 처리하는 방법
- 확장 API와 표준 API를 분리하고, 배포는 서버 값과 계약으로 통제하는 운영 방식