보상형 광고를 붙일 자리가 없는 게임에 하트를 달았습니다
힌트도 되돌리기도 없는 기록 게임에는 보상형 광고를 걸 훅이 없습니다. 게임 내용과 무관한 입장권을 공용 모듈로 만들어 7종에 붙인 과정과, 그 과정에서 밟은 두 가지 함정을 정리했습니다
Info
Rewarded ads need a hook — a hint, an undo, a revive. Pure score games have none, so we built a shared “hearts” entry ticket that is unrelated to gameplay: one heart per run, refilled to the daily amount by one ad, reset every day. This post covers the four rules and the two traps we hit.
보상형은 걸 자리가 있어야 겁니다
광고에는 두 종류가 있습니다. 흐름을 끊고 뜨는 전면 광고와, 사용자가 무언가를 얻으려고 스스로 보는 보상형 광고입니다. 뒤쪽이 단가도 높고 덜 미움받습니다. 문제는 걸 자리가 있어야 건다는 것입니다.
힌트, 되돌리기, 부활 같은 기능이 있는 게임은 쉽습니다. 그 기능 앞에 광고를 두면 됩니다. 그런데 순수하게 기록만 재는 게임은 그럴 자리가 없습니다. 반응속도 챌린지에서 힌트가 무슨 의미겠습니까. 순발력 숫자판에서 되돌리기는 그냥 치팅입니다.
그래서 게임 내용과 무관한 입장권을 쓰기로 했습니다. 하트입니다.
규칙은 넷뿐입니다
- 🎟️ 새 판 하나에 하트 하나 — 인원 수와 무관합니다. 반응속도를 넷이 돌려도 한 판은 한 하트입니다
- 📺 광고 한 번에 하루치 충전 — 사용자가 직접 눌렀을 때만 재생합니다
- 🌅 하루가 지나면 기본값으로 리셋 — 쌓이지 않습니다
- 🏁 이미 시작한 판은 끝까지 — 하트가 0이 되어도 하던 판을 끊지 않습니다
세 번째가 중요합니다. 누적을 허용하면 광고를 많이 본 사람이 유리해지고, 그러면 광고가 게임을 계속하는 유일한 경로가 됩니다. 매일 리셋되면 광고를 한 번도 안 봐도 매일 기본만큼은 할 수 있습니다.
광고 하나에 하트 하나는 가혹했습니다
타로 운세에는 하트가 먼저 들어가 있었습니다. 처음에는 광고 하나에 하트 하나를 줬습니다. 카드 한 장 뽑으면 그대로 사라지는 양입니다. 광고를 보고도 아무것도 못 한 기분이 듭니다.
그래서 광고 한 번이면 하루치를 통째로 다시 받는 쪽으로 바꿨습니다. 기본 하트가 다섯인 앱에서 광고를 보고 셋만 받으면, 봐도 하루치를 못 채웁니다. 그건 보상이 아니라 벌칙에 가깝습니다.
함정 하나 — 광고를 띄울 수 없는 곳에서 문을 잠그면 벽이 됩니다
하트는 광고로 충전합니다. 그러면 광고를 띄울 수 없는 환경에서는 충전 버튼이 아무 일도 하지 않는 벽이 됩니다.
우리 경우 그런 환경이 둘이었습니다. 브라우저에서 바로 하는 웹 버전에는 광고 브릿지가 없습니다. Google Play 판은 일곱 종 가운데 다섯 종이 광고 SDK 없이 빌드됩니다. 토스에 광고를 붙이는 전략이라 Play 판은 무광고로 냈기 때문입니다.
그래서 게이트는 보상형을 실제로 띄울 수 있을 때만 켜집니다. 그 밖에서는 하트를 아예 세지 않고 모두 통과시킵니다.
함정 둘 — 결과가 세 갈래인데 두 갈래로 읽었습니다
보상형 광고의 결과는 세 가지입니다. 끝까지 봤거나, 사용자가 닫았거나, 띄우지 못했거나.
여기서 닫은 것과 띄우지 못한 것을 같게 처리하면 안 됩니다. 닫은 건 사용자의 선택이니 보상을 보류하는 게 맞습니다. 하지만 재고가 없거나 오류가 난 건 우리 쪽 문제입니다. 그때 보상을 막으면, 사용자는 잘못한 게 없는데 기능이 통째로 잠깁니다.
간호조무사 앱에서 이 판정을 잘못 읽어 반대 사고가 났습니다. 결과가 문자열인데 객체로 착각해서 광고는 안 나오는데 보상만 주는 상태가 됐습니다. 지금은 세 갈래를 각각 다르게 처리합니다.
동의 없이 하트를 쓰지 않습니다
버튼을 눌러 시작한 동작은 의사가 분명합니다. 새 판, 되돌리기, 미리보기가 그렇습니다. 여기서는 묻지 않고 바로 씁니다.
반면 지뢰찾기에서 지뢰를 밟으면 되살리기가 저절로 뜹니다. 사용자가 부른 게 아닙니다. 여기서 하트가 남아 있다고 조용히 차감하면 동의 없이 쓴 것이 됩니다. 이런 지출은 먼저 물어봅니다.
지금 붙은 곳
공용 모듈 하나를 만들고 일곱 종에 붙였습니다. 기본 하트는 판이 짧은 게임일수록 넉넉하게 잡았습니다.
| 게임 | 하루 하트 |
|---|---|
| 반응속도 챌린지 | 5 |
| 기억력 카드 | 5 |
| 오목 | 3 |
| 지뢰찾기 | 3 |
| 순발력 숫자판 | 3 |
| 숫자 퍼즐 | 3 |
| 솔리테어 | 3 |
타로 운세는 이미 있던 하트의 충전량만 위 규칙에 맞췄습니다.
남은 이야기
숫자가 맞는지는 아직 모릅니다. 하트가 셋이면 답답하고 일곱이면 광고를 볼 이유가 없어집니다. 실제로 며칠 돌려보고 조정할 생각입니다.
앱을 만들며 겪은 다른 기록은 개발 기록에 모아 두었습니다.
소식은 이 블로그와 인스타그램(@fadongkwon.soft) (새 창에서 열림)에서 전해드립니다.