본문으로 이동
토스는 어떻게 광고 속에 게임을 넣었을까
문서

토스는 어떻게 광고 속에 게임을 넣었을까

정윤호 · 토스 · 토스 기술 블로그

원본 보기

소개

토스에서 게임 광고를 받기 위해 MRAID 기반 플레이어블 광고 SDK를 직접 만든 이야기를 소개해요.

AI 핵심 요약

토스 지면에 게임 광고가 적었던 원인을 영업이 아니라 플레이어블 소재를 지원하지 못하는 기술적 제약으로 재정의하고, 광고 시스템과 일관되도록 MRAID 기반 SDK를 직접 만들었습니다. 실제 소재가 사용하는 API만 구현하고 표준 기능과 토스 전용 엔드카드 확장을 분리했으며, 렌더 완료는 폰트·이미지·페인트·DOM 안정·애니메이션 프레임 신호를 조합해 판정했습니다. 외부 소재의 실수로부터 SDK와 광고 동작을 보호하기 위해 전역 객체를 동결하고 핸들러 예외를 격리했으며, 클릭과 랜딩 경로도 mraid.open()으로 통일했습니다. mraid.js는 서버에서 최신 단일 버전으로 제공하되 API 추가만 허용하고 구버전 네이티브가 모르는 커맨드는 무시하도록 해, 빠른 배포와 하위 호환성을 함께 확보했습니다.

  • 표준 API는 스펙 전체를 구현하기보다 실제 소재가 호출하는 기능부터 지원하고, 미지원 기능은 오류 응답으로 처리하세요.
  • HTML 로드 완료와 실제 렌더링은 다르므로 여러 브라우저 신호를 조합하고, 타임아웃 폴백과 감지 지표를 함께 두세요.
  • 외부 코드와 같은 JavaScript 컨텍스트를 공유한다면 전역 객체를 보호하고 이벤트 핸들러별 예외를 격리하세요.
  • 서버에서 스크립트를 빠르게 배포할수록 불변 파일과 감사 로그, 하위 호환 계약이 중요해집니다.