
자체 광고 엔진 위에 웹뷰 브릿지와 MRAID 표준을 얹어 완성한 하이브리드 플레이어블 광고 개발기
토스는 대규모 게임 광고 유치를 위해 웹 기술 기반의 플레이어블 광고를 직접 구현했습니다. 상용 SDK 대신 하이브리드 앱의 핵심인 웹뷰 브릿지 구조와 업계 표준인 MRAID 규약을 도입하여 가볍고 유연한 광고 시스템을 구축했습니다. 표준 API와 토스 전용 API를 영리하게 분리해 유지보수성까지 챙긴 시니어 엔지니어의 설계 노하우를 소개합니다.
하이브리드 앱 환경에서 서드파티 SDK 없이 웹뷰와 네이티브 간 안정적이고 확장 가능한 인터페이스를 설계하려는 프론트엔드 및 모바일 개발자에게 실무적인 참고서로 권장합니다.
토스 앱 내 광고 지면에서 게임 광고주들의 선호도가 높은 플레이어블 광고를 지원하지 못해 게임 광고 유치에 한계가 있었습니다. 상용 SDK를 도입할 경우 자체 구축한 기존 광고 서버 시스템과의 통합 및 통제가 어려워지는 문제가 있었습니다.
웹뷰에 단일 HTML 형태의 게임 광고 소재를 띄우고, 자바스크립트 브릿지 규약인 MRAID 표준을 기반으로 한 mraid.js를 직접 구현하여 네이티브 앱과 광고 간 양방향 통신을 지원했습니다. 실제 서빙할 소재가 호출하는 필수 API만 부분 구현하고, 표준 외 기능인 엔드카드는 별도의 전역 객체인 tossPlayableAds로 분리하여 설계했습니다.
서드파티 SDK 없이도 플레이어블 광고를 직접 제어할 수 있게 되었으며, 미지원 API 호출 시에도 안전하게 에러 이벤트를 반환해 앱 크래시를 방지했습니다. 또한 API 표면을 최소화한 덕분에 MRAID 3.0 업그레이드 시에도 단 수백 줄의 코드 추가만으로 효율적으로 대응할 수 있었습니다.
Trade-off
MRAID 표준 스펙 전체를 구현하지 않고 필요한 일부 API만 부분 구현했기 때문에, 향후 새로운 광고 소재가 미지원 API를 호출할 경우 정상 동작하지 않을 수 있으며 이에 대응하기 위해 지속적으로 사양을 모니터링하고 추가 구현해야 하는 유지보수 부담이 존재합니다.
모바일 리치 미디어 광고와 인앱 네이티브 앱 간의 인터페이스를 정의하는 IAB Tech Lab의 글로벌 업계 표준 규약입니다. 광고 소재가 플랫폼에 구애받지 않고 네이티브 기능과 안전하게 통신할 수 있도록 돕습니다.
하이브리드 앱 환경에서 웹 콘텐츠와 네이티브 앱 간에 양방향 메시지를 송수신할 수 있게 지원하는 기술입니다. 웹뷰 내에 특정 인터페이스나 스크립트를 주입하여 네이티브 기능을 제어합니다.
사용자가 앱을 실제로 다운로드하기 전, 광고 지면 내에서 미니 게임 형태로 핵심 콘텐츠를 미리 체험해 볼 수 있는 인터랙티브 광고 유형입니다. 설치 유도 및 광고 대비 투자 수익률 개선에 매우 효과적입니다.


