WWSSOLITAIRE · MONETIZATION · 38-APP MARKET MASTER AUDIT

솔리테어 시장 BM 마스터 감사 — 38개 앱

스파이더 27종 + 일반/클론다이크/트라이피크스/번들 14종(중복 제외 실질 38개 고유 앱) · Play/App Store 전수조사 + Google Play 광고 정책 · 2026-07-18
이 보고서는 이전 19개 앱 감사를 대체·확장한다. 가장 중요한 정정: 이전 보고서는 "마을꾸미기+가챠 결합 사례가 이 카테고리에 전무하다"고 결론 냈으나, 이는 스파이더 솔리테어로만 한정한 조사의 한계였다. 일반 솔리테어(주로 트라이피크스 기반)까지 넓히니 Solitaire Mystery: Ava's Manor(4.75★), Solitaire Home Design, Solitaire Farm Adventure 세 개의 직접적인 "스토리+저택/마을 꾸미기 결합형" 경쟁사가 확인됐다. 이 셋이 이번 조사에서 가장 중요한 벤치마크다.
Executive Summary (BLUF): 38개 앱 전수조사 결과 이 시장은 명확히 두 클러스터로 갈린다 — ① 순수 카드게임형(메타 없음, 광고+저가 광고제거 $1.99~$14.99)과 ② 스토리+꾸미기 메타 결합형(하트/코인 시스템, 구독 $5.99~$49.99, 평점은 오히려 더 높음). 우리 게임은 ②에 속하면서도 스파이더 솔리테어라는 점에서 ①+② 어느 클러스터에도 정확히 속하는 직접 경쟁사가 없다. 이 조사 전체의 목적은 시장 파악 자체가 아니라 우리 BM을 항목별로 자가진단하는 것이었다 — 그 결과(⑤): 실행 항목을 QA(실기기 확인만 필요)·기존 개선(조정만 필요)·신규 도입(새로 만들어야 함) 세 갈래로 분리했고, 가격을 조정해야 할 만큼 잘못된 상품이나 없애야 할 위험 요소는 0개였다. 가장 큰 정정은 배너광고 — "테스트광고라서 안 보인다"는 설명은 전면·보상형엔 정확히 맞지만 배너는 네이티브(자동 호출은 되는데 실기기 렌더링 미확인)와 웹(애드센스 미설정으로 정말 호출된 적 없음)이 서로 다른 문제라는 게 코드 재검증으로 드러났다.

① 조사 규모 및 방법론

사용자 요청("플레이스토어에만 스파이더 20종 넘고, 일반까지 50종 가까이 될 것 — 할 수 있는 모든 게임 다 조사")에 따라 3차에 걸쳐 조사 범위를 확장했다: (1) 스파이더 솔리테어 Android/iOS 19개, (2) 스파이더 솔리테어 Play Store 심화 8개 추가, (3) 일반/클론다이크/트라이피크스/번들형 Play Store 14개. 총 41개 항목 중 중복 3개(MS Solitaire Collection 등 중복 조사) 제외 실질 고유 앱 38개.

Exhibit 1 — 카테고리 A: 스파이더 솔리테어 (27개, 이전 보고서 19개 + 신규 8개)
#평점광고제거/구독핵심 특징
A1MobilityWare Spider4.7~4.8$4.99 일회 또는 구독 월$1.99공식 확인된 일회성 가격, 닫기버튼 불만
A2MobilityWare(iOS)4.8구독 월$1.99~연$9.99부적절 광고소재 불만
A3MobilityWare 유료판4.8$4.99 선구매(무광고)이원화 전략(무료+구독 / 유료+무광고)
A4Spider Go4.7제거옵션 없음형평성 불만(자매작엔 있는데 이앱만 없음)
A5Brainium(AOS)4.4일회성(가격 미확인)PlayStudios($70M) 인수 확인
A6Brainium(iOS)4.8$11.99더블딥 반감 대표사례
A7Easybrain(AOS)4.2미확인undo 유료제한 유일사례
A8Easybrain(iOS, No Ads)-$14.99iOS 가격 확인
A9nerByte(AOS)4.7미확인배터리 소모 불만
A10nerByte(iOS)4.8$7.99선정적 광고소재 불만
A11Guru Puzzle Game4.8Remove Ads(가격 미확인)커뮤니티후기 ~$7 추정
A12Solitaire Guru(iOS 자매판)-주간구독 $2.99Pro Membership 확인
A13Big Cake4.7미확인광고 불만 상대적으로 적음
A14MS Solitaire(AOS)3.9구독 월$1.49~연$9.99계정연동 오류로 구매 무효화
A15Classic Puzzle Games Maker4.7없음(순수광고)장르 최악 광고UX
A16Fantasy Games Ltd4.6미확인불만 표본 적음
A17PeopleFun4.8재화기반 코스메틱5단계 닫기, 자동재생 사운드
A18Full Deck Solitaire4.7$4.99+부스터$0.99~2.9983종 변형, 계단식 가격
A19Gamebastic4.8(표본8)미확인신규 출시, 참고용
A20Albayoo4.9부스터+구독 주$2.99~연$9.99과금 불만 없음(UX 호평)
A21Do More Mobile4.6$19.99 또는 월$0.99이중 앵커링 가격
A22Zynga(스파이더 포함 번들)4.3미확인5천만+ 설치, 레거시
A23Tripledot Spider미확인미확인대형 퍼블리셔(5억+ 설치 포트폴리오)
A24Bitmango Kingdom4.5미확인야간 소음 광고 불만
A25Mobirix King4.5미확인기만적 "현금획득" 광고 불만
A26SNG ICT4.3~4.4미확인"배너광고 없음" 셀링포인트
A27PlayValve미확인미확인작은 닫기버튼 오클릭 불만(Play정책 위반 소지)
Exhibit 2 — 카테고리 B: 일반/클론다이크/트라이피크스/번들형 (14개, 전부 신규)
#평점메타 요소광고제거/구독핵심 특징
B1Zynga Solitaire4.3없음미확인2013년 출시 레거시
B2Solitaire.com(Tripledot)4.6없음미확인성장 중(월 85만 다운로드)
B3MobilityWare Solitaire4.3~4.57없음$1.99 일회성시간당 15~20개 광고(장르 최고밀도), 그러나 저가 투명 결제로 호평도 존재
B4Solitaire Mystery: Ava's Manor4.75있음(저택+정원+반려동물)하트시스템(11시간 회복)★가장 가까운 벤치마크★ 코인 인플레이션 불만, 그래도 최상위 평점
B5Solitaire Farm Adventure4.7있음(조랑말마을+농장)구독 월$5.99/분기$14.99/연$49.99구독가 벤치마크, 보상 미지급 버그 불만
B6Solitairescapes4.71약함(테마 스킨만)미확인소규모(76만 설치)
B7Solitaire Cruise4.47있음(순회형 사이드게임)미확인가격 2~3배 인상 반발 확인
B8Solitaire Home Design4.35있음(저택+섬 리노베이션)미확인Ava's Manor 유사 경쟁작
B9Pyramid Solitaire Saga(King)미확인스토리 프레이밍만미확인"광고 안 보면 못 이김" 밸런싱 불만
B10Tiki Solitaire TriPeaks4.4레벨진행 테마변경미확인"7일 후 사라지는 피기뱅크" 기만적 UX
B11Solitaire Cash(실머니)iOS4.7 vs AOS2.3없음-출금전 광고 88개 요구, 플랫폼간 평점 극단 괴리
B12250+ Solitaire Collection미확인없음미확인253종 번들, 소규모
B13Aged Solitaire Collection4.57없음미확인활발한 번들형(월 20만 다운로드)
B14Solitaire Grand Harvest(재확인)4.69있음(농장+마을)기존 보고서 참고다른 보고서에서 상세 다룸, 중복 생략

② 가장 중요한 신규 발견 — 마을꾸미기 메타 결합 경쟁사 3곳

1Solitaire Mystery: Ava's Manor (Uken Games) — 최상위 벤치마크
구조
클론다이크 클리어 → 저택 리노베이션(가구·정원 데코) + 미스터리 스토리(Ava가 대저택을 상속받아 비밀을 파헤침) + 반려동물. 평점 4.75★(5만7천 리뷰)로 이번 조사 전체에서 최상위권.
BM
하트(생명) 시스템, 소진 시 11시간 대기. 레벨 진행 코인 비용이 계속 상승(별 하나당 5만 코인 등)한다는 "이길 수 없게 설계된 것 같다"는 P2W 불만이 확인됨.
시사점
메타 콘텐츠(스토리+꾸미기) 품질이 좋으면 과금 압박이 있어도 평점이 유지된다는 강력한 증거. 다만 코인 인플레이션은 우리가 절대 따라 하면 안 되는 패턴 — 우리의 "P2W 마찰 0" 원칙과 정확히 반대되는 사례.
2Solitaire Farm Adventure (Me2zen) — 구독 가격 벤치마크
구조
트라이피크스 기반, 조랑말 마을 건설+농장 동물 케어. 구독 3단계 월$5.99/분기$14.99/연$49.99(추가 코인+광고제거 번들) — 이번 조사에서 가장 명확히 확인된 메타형 구독 가격.
시사점
메타 콘텐츠가 있는 앱은 순수 카드게임(MS Collection 월$1.49~1.99) 대비 구독가를 3배 가까이 높게 책정한다 — 우리의 "쏠리 클럽"($2.99) 가격이 오히려 시장 평균보다 보수적임을 재확인.
3Solitaire Home Design (Betta Games) — 유사 구조 참고용
구조
트라이피크스 기반, 저택+섬 리노베이션+캐릭터 커스터마이징+반려동물 — Ava's Manor와 거의 동일한 공식.
시사점
같은 공식(솔리테어+저택꾸미기)을 쓰는 앱이 최소 2개 이상 존재한다는 건, 이 조합 자체가 검증된 성공 패턴이라는 뜻 — 우리 게임(스파이더+마을)이 카드게임 종류만 다를 뿐 검증된 시장에 있다는 근거.

③ Google Play 광고 정책 (출시 전 필수 준수)

공식 확인(Google Play Console Help): 출처: Google Play Ads 정책, Better Ads Experiences 정책

④ 확장된 반면교사 목록

실패 패턴우리가 지킬 원칙
Brainium(iOS)기존 구매자에게 재과금정책 변경 시 그랜드파더링 필수
Easybrainundo를 광고로 제한undo/힌트 영구 무료
nerByte(iOS)선정적 광고 소재 방치AdMob 콘텐츠 등급 필터링
Classic Puzzle Games Maker닫기버튼 위치 계속 이동닫기버튼 고정위치·즉시반응
PlayValve닫기버튼 너무 작아 오클릭Google Play 정책 수준 충족
Bitmango Kingdom야간 소음 광고(사운드 강제)광고 사운드도 게임 음소거 설정 따르게
Mobirix King"현금 획득" 기만 광고 문구광고 소재 클레임 검수
Ava's Manor레벨 코인 비용 지속 인플레이션P2W 마찰 0 원칙 고수
Solitaire Cruise부가상품 가격 2~3배 갑작스런 인상가격 변경은 점진적·투명하게
Tiki TriPeaks"7일 후 사라지는" 기만적 재화 UX적립 재화는 소멸 조건 명시
Solitaire Cash출금 전 광고 88개 요구보상형 광고 요구량 상한 설정
MS Solitaire Collection결제해도 광고 재출현(구독 버그)구매 상태 동기화 안정성 QA

⑤ 우리 BM 전체 자가진단 — 항목별 판정

이 보고서 전체(38개 앱 + Google Play 정책 + 반면교사 12건)의 존재 이유는 여기다. 우리 게임에 실제로 이미 구현된 BM 요소를 하나씩 코드에서 실측하고(www/ads.js, www/billing-config.js, www/game.js), 실행에 필요한 작업 종류별로 재분류한다 — ⑤-A(이미 있는 걸 실기기에서 확인만 하면 되는 것) / ⑤-B(이미 있는 걸 조정만 하면 되는 것) / ⑤-C(아예 새로 만들어야 하는 것). 이번 재작성의 계기는 배너광고 항목에 대한 정정이다: 처음엔 "테스트광고 상태라 그런 것"이라는 설명이 있었으나, 코드와 커밋 히스토리를 다시 실측한 결과 배너는 전면·보상형과 사정이 다르다는 게 확인됐다 — 아래 Exhibit 4에서 이 셋을 나란히 비교한다.

Exhibit 3 — 우리 게임 현재 BM 인벤토리(실측)
요소현재 상태(코드 실측)
전면광고2번째 판부터 매판 노출. 재시작/게임오버는 90초 쿨다운, 승리 시엔 쿨다운 면제(game.js:4495-4508) — Ads.interstitial() 실호출, isTesting: TEST 적용 중(ads.js:79)
배너광고Ads.banner()(게임 코드가 명시적으로 부를 수 있는 공개 API)는 어디서도 직접 호출되지 않음. 다만 앱(네이티브) 쪽은 부팅 시 Ads.init()(game.js:9644,9650)이 nativeInit()→nativeBanner()(ads.js:36-40)를 자동으로 태워 사실상 "매 부팅 자동 시도"는 되고 있음 — 웹(AdSense) 쪽은 adsenseClient가 아직 플레이스홀더라 webBanner()가 조기 리턴돼 정말 한 번도 실행된 적 없음. 자세한 비교는 Exhibit 4.
보상형광고 3종winDouble(승리화면 +20골드), overContinue(게임오버 시 3수 되돌리기), missionAdBoost(미션+마일스톤 공용 보상 2배, v2599 신규·v2601 1.5배→2배 조정 — Solitaire Grand Harvest·Crossy Road·업계 전수조사 결과 2배가 유일한 표준) — Ads.rewarded() 실호출(game.js 7곳 이상), isTesting: TEST 적용 중(ads.js:80)
제거된 보상형광고판내보너스 2배·무료선물 2배 — v2583에서 CTA 3개 경쟁 문제로 제거 완료
IAP 4종(전부 enabled:false, 미작동)ad_remove ₩12,000(광고영구제거+전용캐릭터2종) · piggy_bank ₩4,300(재화 영구2배) · unlock_character ₩1,200(소모성 개별해금) · starter_pack ₩1,900(신규유저 500골드+캐릭터1종)
undo/힌트인게임 무제한 무료
Exhibit 4 — "출시 전이라 테스트광고 상태" 프레이밍이 실제로 맞는 항목 vs 틀린 항목
항목호출부 존재?isTesting: TEST 적용?"테스트광고라서 안 보인다"는 설명이 맞나
전면광고있음game.js:4508 Ads.interstitial(...)적용됨(ads.js:79)정확히 맞음. 실제로 테스트 광고단위 ID(ca-app-pub-3940256099942544/..., 구글 공식 테스트 ID)로 매판 호출되고 있고, 출시 시 ads-config.jstest:false로 바꾸면 이미 채워둔 실제 광고단위 ID(androidInterstitial)로 그대로 전환된다.
보상형광고있음 — game.js 7곳 이상 Ads.rewarded(...)적용됨(ads.js:80)정확히 맞음. 위와 동일 — 이미 정상 동작 중인 파이프라인이고 test 플래그만 끄면 실제 광고로 전환된다.
배너(네이티브 앱)있음, 실기기 확인됨Ads.init()가 부팅마다 nativeBanner()를 자동 실행(ads.js:36-40), 사용자가 실제 APK로 화면 하단 배너 노출을 직접 확인(2026-07-19)적용됨(ads.js:76) — AndroidManifest의 APPLICATION_ID(ca-app-pub-4900019164373658~6885535170), package.json@capacitor-community/admob@8.0.0, ads-config.js의 실제 androidBanner ID까지 배선 전부 실물로 채워져 있음"테스트광고라서 안 보인다"가 정확히 맞음 — 전면·보상형과 동일하게 이미 정상 작동 중인 파이프라인. 초기 판단(코드 호출부가 없다)이 틀렸고, 실기기 검증으로 완전히 해소됨. 남은 건 출시 시 test:false 전환뿐.
배너(웹/PWA)없음webInit()adsenseClient 플레이스홀더 확인 후 webBanner() 호출 전에 조기 리턴(ads.js:94)해당 없음(애드센스 클라이언트 자체가 미설정)"한 번도 호출된 적 없다"가 100% 정확함. 이건 테스트광고 여부의 문제가 아니라 구글 애드센스 계정을 아직 안 만들었다는 비즈니스 단계의 문제 — ⑤-C에서 다룸.

⑤-A QA(실기기 검증) — 이미 있는 메커니즘이 실제로 잘 동작하는지 확인만 하면 되는 것

여기 속한 항목들은 코드를 새로 짜거나 로직을 바꿀 필요가 없다 — 이미 만들어진 게 실기기·실환경에서 의도대로 작동하는지 "눈으로 확인"하는 게 전부다.

⑤-B 기존 메커니즘 개선 — 이미 있는 걸 조정만 하면 되는 것 구현·배포 완료(v2600)

승리 시 전면광고 쿨다운 면제 → 세션당 프리퀀시 캡 도입 검토. 현재 로직(game.js:4495-4508)은 adLastInter 타임스탬프로 90초 쿨다운(coolOK)을 두되, isWin이 참이면 이 쿨다운 자체를 완전히 건너뛴다(isWin || coolOK). 그 위에 세션 전체에 걸친 노출 상한(session cap)도 전혀 없다 — adGames는 새 판 시작 횟수를 셀 뿐 광고 노출 횟수를 캡핑하는 데는 쓰이지 않는다. 리서치에서 확인된 업계 표준 패턴은 이중 방어선이다: ① 노출 종류·트리거와 무관하게 임의의 두 전면광고 사이 최소 간격(minimum interval between ANY two interstitials) 2~3분, 미드코어 장르는 최대 4분까지(AdReact, Airflux 블로그 종합) ② 세션당 노출 상한 4~6회 — 5~6회를 넘어가면 수익 증가분이 급격히 체감한다는 게 업계 공통 관찰이다 ③ 첫 광고 지연 60~90초 — 이것만으로 D1 리텐션이 5~8%p 개선된다는 보고도 있다. 우리 게임은 판당 평균 10분으로 세션이 길어 이 수치를 그대로 이식하긴 어렵지만, 원칙(①②③ 모두 어떤 트리거로 뜨든 예외 없이 적용)은 그대로 옮길 수 있다 — 구체적으로는 isWin이어도 최소한의 절대 쿨다운(예: 30~60초)은 유지하도록 coolOK 조건을 isWin 예외에서 완전히 빼지 말고 "짧은 쿨다운 + 승리 시엔 그 쿨다운만 대폭 단축"으로 바꾸는 안, 그리고 세션 전체 노출 카운터를 별도로 추가해 상한(예: 시간당 6회 캡을 세션 전체 캡으로도 명시)을 거는 안 두 가지를 함께 검토할 만하다. 참고로 AdMob 자체도 앱/광고단위 레벨의 프리퀀시 캡을 콘솔에서 코드 없이 설정할 수 있는 플랫폼 기능을 제공하지만(예: "30분당 2회"), 이건 캡에 걸리면 광고 요청 자체가 조용히 "No Fill"로 실패하는 방식이라 우리 쪽 클라이언트 코드가 여전히 그 실패를 받아 매끄럽게 처리하는 로직을 유지해야 한다 — AdMob 콘솔 캡은 안전판(defense-in-depth)으로 병행하되, 세션 경험을 결정하는 1차 로직은 지금처럼 game.js의 자체 쿨다운/카운터로 남겨두는 게 맞다.

→ 적용 완료(v2600, game.js:4495-4512): isWin || coolOK 완전 면제를 없애고, 승리는 30초·재시작/게임오버는 90초의 최소 쿨다운을 항상 적용하도록 변경(AD_MIN_COOLDOWN_WIN/AD_MIN_COOLDOWN_OTHER). 여기에 최근 1시간 내 노출 타임스탬프를 배열로 추적해 시간당 6회 상한(AD_HOURLY_CAP)을 넘으면 조건이 전부 맞아도 광고를 아예 스킵하는 세션 프리퀀시 캡을 추가했다 — 리서치에서 확인된 이중 방어선(최소간격+세션캡)을 그대로 코드에 반영.

게임오버 화면 1차 액션 위치 — 실측 결과 기반 조정. ⑤-A에서 스크린샷으로 확인했듯, 세 조건이 겹치면 "다시 하기" 버튼이 스크롤 없이는 안 보인다. 승리창 사고 때처럼 광고 CTA 자체를 없앨 필요는 없다 — 대신 www/index.html#overOverlay .dialog.over 버튼 순서를 조정해 "다시 하기"(overAgain)를 최상단 고정 또는 조건부 배너들보다 먼저 배치하는 순수 마크업 순서 변경만으로 해결 가능하다(로직 변경 없음, CSS만으로 처리 가능한 소규모 개선).

→ 적용 완료(v2600, www/index.html): "다시 하기" 버튼을 조건부 배너(미션·이어하기·선물·가챠) 앞으로 옮겼다. 로컬 브라우저로 3조건을 전부 강제 활성화해 재현·재검증한 결과, 이제 스크롤 없이 타이틀 바로 아래에서 즉시 보인다(수정 전/후 스크린샷 비교로 확인).

무료선물 vs 광고보상 골드 액수 역전 — 사용자 지적으로 발견(2026-07-19). 승리창에서 "📺 광고보고 2배 골드"(winDouble, 고정 pgMul(20))와 바로 아래 "🎁 무료선물" 배너가 나란히 노출되는데, 무료선물 쪽 보상(giftRewardAmount())이 40 + random(0~480) = 평균 280골드, 최대 520골드(2% 확률로 1,000~10,000 잭팟)였다 — 광고 없이 탭 한 번이 광고 시청 보상의 평균 14배, 최대 26배. 기본구간(40~520)은 crossy-road-bm-report.html §4에서 실측한 길건너친구들(Crossy Road) 원작의 무료선물 값을 그대로 이식한 것이었으나, 잭팟 확률(2%)·배수(1,000~10,000)는 원작 문서에 "희귀 잭팟 최대 ~10,000+"라고만 있을 뿐 정확한 %가 확인된 적이 없어 우리 쪽이 임의로 정한 값이었다. 원작에서 사망 후 광고보상(+20코인)과 무료선물이 같은 비율로 벌어져 있어도 문제가 안 되는 건, CR의 광고보상은 죽을 때마다(사실상 무제한 빈도) 뜨고 무료선물은 최대 3시간 쿨다운이라 두 채널이 "그 순간 비교"되는 구조가 아니기 때문이다. 우리 게임은 승리창 한 화면 안에 두 금액이 동시에 노출되므로 격차가 바로 눈에 띄고, 전체 재화 경제(세트완성 1·미션 5·업적 15·데일리선물 30~200) 대비로도 무료선물(평균 280)이 압도적인 이상치였다.

→ 1차 적용(v2602, game.js): 기본구간을 15 + random(0~45) = 평균 37골드(15~60)로 낮췄다. 그런데 잭팟(2% 확률 1,000~10,000)을 그대로 두면 기댓값 기여분이 0.02×평균5,500=110으로 기본구간 기댓값(36.75)의 3배가 돼 방금 한 조정이 사실상 무의미해진다는 걸 사용자가 재지적 — 전체 기댓값이 여전히 ≈147로 광고보상(20) 대비 7배 이상 차이가 났다.

→ 2차 적용 후 최종 결론(같은 날, game.js:giftRewardAmount()): 잭팟 확률을 0.1%로 낮추는 안을 거쳐, 최종적으로는 잭팟 자체를 완전히 제거했다 — 우리 구현엔 잭팟 당첨 시의 전용 연출("잭팟!" 팝업 등)이 전혀 없어 유저에게 "특별한 순간"으로 체감되지도 않았고(그냥 코인샤워 숫자만 커짐), 원작이 잭팟을 UI에 명시적으로 알린다는 근거도 없었다. 연출도 없이 기댓값 관리 부담만 계속 만드는 요소를 유지할 이유가 없다는 판단 — 지금은 15~60 단일구간만 남았다(합계 기댓값 37.5, 광고보상 20 대비 격차 약 1.9배로 축소).

피기뱅크 IAP "모든 재화 획득량 영구 2배" 약속 불이행 — 재화 경제 전수 감사로 발견(2026-07-19). 무료선물 건을 계기로 game.js 전체의 재화 지급 경로를 pgMul()(피기뱅크 배율 헬퍼) 통과 여부 기준으로 전수 점검했다. 미션·업적·세트완성·클린보드보너스·무료선물·승리광고보상은 전부 pgMul()을 정확히 통과하는데, 데일리선물 클레임(claimDailyGift)·데일리선물 광고 더블업·스타터팩(grantStarterPack)·클론다이크 승리보상(kWinShow, 클론다이크 모드의 사실상 유일한 인게임 골드원) 4곳은 points += reward로 배율을 거치지 않고 직접 지급하고 있었다. 피기뱅크 IAP는 현재 enabled:false라 당장 피해는 없지만(dormant), 상점 문구·billing-config.js 주석 모두 "모든 재화 획득량 영구 2배"를 명시하고 있어 IAP를 켜는 순간 광고 문구대로 작동하지 않는 결제 사기성 버그가 될 뻔했다. 4곳 전부 pgMul()을 통과하도록 수정 완료, 로컬 브라우저에서 피기뱅크 모의(mock)를 걸고 데일리선물 클레임·더블업이 정확히 2배(모의 해제 시 1배로 원복)로 지급되는 것까지 실측 확인했다.

⑤-C 신규 BM 도입 — 아예 새로 만들어야 하는 것

배너광고 — 네이티브는 이미 완료, 웹만 신규. 사용자 실기기 확인으로 네이티브 앱의 배너는 정상 작동이 확인돼 여기선 할 일이 없다. 남은 신규 항목은 웹/PWA 채널뿐이다 — adsenseClient가 플레이스홀더 그대로라 구글 애드센스 계정 개설 → 사이트 승인 → client ID·슬롯 ID 발급이라는, 코드가 아니라 별도 비즈니스 프로세스가 선행돼야 하는 진짜 신규 항목이다. 리서치로 확인한 배치 원칙은 이미 우리 구현과 일치한다 — Google 공식 문서(Adaptive banner ads)는 UI가 고정된 게임류에는 화면 상/하단에 고정되는 anchored adaptive banner를 권장하는데, 우리 코드가 이미 ADAPTIVE_BANNER + BOTTOM_CENTER(ads.js:76)를 쓰고 있어 방향은 맞다. 카니발라이제이션 우려에 대해서는, 배너는 eCPM이 $0.05~0.20 수준으로 인터스티셜($5~12)·리워드($20~40)보다 훨씬 낮아(Yango Ads, GameBiz Consulting 등 종합) 카니발라이즈보다는 "상시 노출되는 낮은 단가의 보완 채널"로 보는 게 업계 컨센서스이며, 실제 수익 잠식은 배너 자체보다 "과도한 무료 보상"이나 "과도한 인터스티셜 빈도"에서 발생한다는 게 지배적 견해다 — 다만 우리 게임에 배너를 실제로 켰을 때의 순증/잠식 여부를 뒷받침할 자체 데이터는 아직 없다(미확인, 활성화 후 A/B 비교 필요).

카드백 코스메틱 IAP, 마을 시즌패스. [[bm-season-pass-plan]]에 설계는 끝났으나 아직 코드로 구현되지 않은 순수 신규 기능이다. Ava's Manor·Solitaire Farm Adventure(B4,B5)가 증명하듯 "스토리+꾸미기" 메타 콘텐츠 결합은 검증된 시장이고, 우리 "쏠리 클럽" 구독가($2.99)도 이 시장 평균(월 $5.99까지)보다 보수적으로 책정돼 있어 인상 여지도 있다 — 다만 이건 이번 배너 정정과 무관한 기존 결론이라 상세 설계는 [[bm-season-pass-plan]] 쪽을 따른다.

⑤-D 배너광고 세부 관행 — 스파이더 솔리테어 경쟁앱 재조사(2026-07-19)

배너가 정상 작동함을 확인한 김에, 우리 배너 설계(하단·적응형·부팅 시 자동노출)가 이 카테고리의 실제 세부 관행과 맞는지 다시 조사했다. 이전 조사들은 전면광고 불만·IAP 가격 위주였고 배너 자체의 구현 디테일은 다루지 않았었다.

Exhibit 5 — 경쟁앱 배너 세부 방식
상시노출 여부위치/크기배너 관련 특이사항
Easybrain Spider Solitaire플레이 중 상시("don't interfere with gameplay ever" — 단, 최신 리뷰는 반대)하단"배너가 일일챌린지 완료 X버튼을 가린다"는 반복 불만(도움됨 85표) — 배너가 UI 컨트롤과 겹친 실패 사례
Microsoft Solitaire Collection상시 + 별도 half-screen 광고 병행하단, "quite large"(적응형 추정)배너+전면 동시 운영, 구독해도 재노출되는 버그 다수(기존 반면교사와 동일 계열)
Solitaire Grand Harvest허브(마을) 화면 한정으로 추정, 카드보드 내 여부 미확인상단(공식 페이스북 언급)유일하게 상단 배치가 확인된 사례
PeopleFun(자매작 Wordscapes 기준)과거엔 상시, 유저 반발로 완전 제거구 하단"PeopleFun caved on the banner ads... no longer has any banner ads"(Reddit) — 배너를 아예 없앤 드문 사례

핵심 발견 5가지:

총평: 38개 앱 전수조사에 더해 배너광고 항목을 코드 재검증+사용자 실기기 확인까지 거친 결과, 우리 BM "전략"의 큰 방향은 바뀌지 않았다 — 전면·보상형·배너 3종 전부 "테스트광고 상태로 이미 정상 작동 중"이며 남은 건 출시 시 실제 광고단위 전환뿐이다. ⑤-A(실기기 QA)는 배너 항목이 해결되며 남은 건 게임오버 화면 CTA 배치(이미 실측·원인 확인됨)와 닫기버튼 UX(애초에 AdMob 표준 UI 영역이라 우리 코드로 고칠 수 없음이 확인됨) 정도다. ⑤-B(기존 메커니즘 개선)은 승리 시 쿨다운 완전 면제 조정, "다시 하기" 버튼 위치 조정, 무료선물 vs 광고보상 액수 역전 수정(v2602) 셋 다 적용 완료다. ⑤-C(신규 BM 도입)은 배너 다음으로 코스메틱·시즌패스가 순수 신규 항목이고, ⑤-E에서 새로 추가한 오퍼월·달력형 로그인 보상·App Open Ads 3종도 경쟁사 대비 진짜 격차로 확인됐다(우선순위 순) — ⑤-F에서 이 3종을 "어떻게 만들어야 반발 없이 받아들여지는지" 기준으로 재조사해, 셋 다 실패 사례(Tapjoy 평점 1.1/5, Genshin 출석보상 불만, App Open Ads 콜드스타트 노출로 인한 평점 폭락)와 그 원인을 구체적으로 확보하고 이를 뒤집은 설계 원칙(오퍼월=AdGem 1차+수동 백업, 캘린더=Flexible 순연+그랜드프라이즈 광고배가 제외, App Open Ads=전면광고와 캡 공유)까지 정리했다. 가격을 조정해야 할 만큼 잘못된 상품은 없었고, 없애야 할 만큼 위험한 기존 요소도 없었다(전면광고 빈도·undo무료·판중광고없음·ad_remove 가격+보너스캐릭터는 그대로 유지) — 이번 조사의 실질 결론은 "새로 만들기보다 이미 설계된 것부터 순서대로 QA→조정→신규 순으로 실행하라"는 것이다.

⑤-E 경쟁사 대비 신규 BM 후보 — 광고형식·BM 갭 분석(2026-07-19)

38개 앱 전수조사 데이터를 다시 훑어 "경쟁사엔 있는데 우리한텐 없는 광고 종류·BM"만 추려 재조사했다. 세션 검색 예산 제약으로 개별 경쟁사의 실제 적용 여부는 상당 부분 미확인이며, 확인된 것과 업계 일반지식(미확인 전제)을 명확히 구분해 표기한다.

Exhibit 6 — 우리에게 없는 광고형식·BM 요소
요소확인 수준내용
App Open Ads(앱 재진입 전용 광고)포맷·정책은 확인, 경쟁사 적용 여부는 미확인Google 공식 정책(AdMob 고객센터)상 콜드스타트·백그라운드 복귀 시 로딩 화면에서만 노출 가능하고, "하루 여러 번 짧게 여는 앱"에 적합하다고 명시적으로 권고 — 우리 장르(짧고 잦은 세션)와 정확히 부합. 기존 전면광고 쿨다운/캡 로직을 재사용해 앱 재진입 시점에만 별도 얹으면 구현 난이도는 낮다.
오퍼월(Offerwall)업계 일반 관행 확인, 이 장르 특정 사례는 미확인여러 광고 시청·설문·타 앱 설치 등 "외부 액션 완료"로 재화를 버는 채널. AppSamurai 기준 eCPM $30~200+, 권장 보상 환율은 IAP 재화가치의 70~80%. 골드를 스튜디오가 직접 파는 게 아니라 유저가 벌어가는 구조라 우리의 P2W-0 원칙과 충돌 없음 — 비지불 유저(대다수)에게서 순증 수익을 뽑는 채널로 우리가 완전히 갖고 있지 않은 유일한 채널.
달력형 장기 로그인 보상부분 확인Solitaire Social 공식 지원문서에 "35일 로그인 스트릭" 실운영 확인(Daily Presents). 우리는 7일 사다리(DAILY_GIFT_LADDER)까지만 있고 장기 달력형은 없음 — 기존 미션/마일스톤 "광고보고 2배" 로직과 결합하면 신규 광고 인벤토리 없이 리텐션만 강화하는 저리스크 확장.
소액 소모성 부스터 직접구매(셔플팩 등)일부 반증 확인Brainium 공식 지원문서 기준 이 계열은 오히려 광고제거 외 부스터 판매가 없는 것으로 보임(Helpshift). 있다 해도 undo/힌트 영구 무료 원칙과 충돌해 도입 제외.
네이티브 광고(UI에 자연스럽게 섞인 광고)부적합 시그널 확인GameAnalytics·GameBiz Consulting 모두 적합 장르로 스포츠·레이싱·시뮬레이션·RPG를 꼽을 뿐 카드·퍼즐 장르는 언급조차 없음 — 이 장르엔 사례·근거 모두 약해 우선순위 낮음.
피기뱅크형 로스어버전(Coin Master류 압박 저금통)업계 지식(미확인)일정 시점 전 구매 안 하면 리셋되는 손실회피형 압박 장치 — 사실상 골드 간접판매라 P2W-0 원칙과 충돌해 배제.
실력형 실전상금(Solitaire Cash류)존재 확인(Google Play 리스팅)참가비+상금 구조, 미국 일부 주 한정 스윕스테이크 법적 구조 — 규제 이슈가 커서 참고 이상 아님.

도입 검토 우선순위:오퍼월(완전히 없는 채널 + 원칙 충돌 없음 + 비지불 유저 순증 수익, 실행 리스크 낮음) → ② 달력형 로그인 보상(기존 미션 인프라 재사용, 리텐션 강화) → ③ App Open Ads(장르 적합성 근거 명확, 구현 난이도 낮으나 과용 시 이탈 리스크 있어 전면광고와 별도로 엄격한 쿨다운 필요). 소액 부스터·네이티브광고·피기뱅크형 저금통·실전상금은 원칙 충돌 또는 근거 부족으로 이번엔 제외한다.

⑤-F 도입 설계 딥다이브 — "유저가 반발 없이, 오히려 원하게" 만드는 구체 설계(2026-07-19 추가조사)

위 3개 항목을 "존재 여부"가 아니라 "어떻게 만들어야 좋은 평가를 받는지" 기준으로 재조사했다. 셋 다 실제로 반발을 부른 실패 사례가 명확히 존재하므로, 그 원인을 역으로 뒤집어 설계 원칙으로 삼는다.

① 오퍼월

실패 사례가 훨씬 뚜렷하다. "유저가 오퍼월을 좋아했다"는 직접 근거는 찾지 못한 반면(미확인), Tapjoy는 ComplaintsBoard 종합평점 1.1/5(누적 846건)이고, Reddit에서도 r/TheTowerGame·r/AnimationThrowdown·r/HeroWarsApp·r/OctopathCotC 등 여러 게임 커뮤니티에서 반복적으로 "scam"이라 불린다. 원인은 거의 전부 하나 — 광고주가 오퍼 완료를 임의로 "자격 미달" 판정해 보상을 거부하는 것. 디자인 결함 사례도 하나 확인됨: Zombie Frontier 3는 Fyber 오퍼월이 세로 화면에 가로형 레이아웃을 그대로 얹어 UI가 어긋났다(Udonis).
구조 자체는 옵트인이라 강제 노출이 없다는 게 핵심 방어선. Unity(ironSource) 자체 데이터로 오퍼월 참여 유저는 비참여 유저 대비 IAP 전환 10~14배, 리텐션 5~7배(Udonis) — 다만 이는 상관관계이지 인과는 아니다. 좋은 배치 사례: Design Home은 상점의 "다이아몬드 받기" 섹션 첫 슬롯에 리워드 광고와 나란히 배치하고 소액(설문)~고액(구매형) 오퍼를 계층화; Castle Clash: Guild Royale은 Tapjoy 오퍼 30종 이상을 다양하게 깔아 "누구나 관심 갈 오퍼 하나는 있다" 물량 전략을 쓴다(둘 다 Udonis 위 링크).
Exhibit 7 — 오퍼월 SDK 3사 실측 평판 비교
SDKeCPM 수준평판비고
Tapjoy업계 최상위권(평균 ~$60)최악 — 1.1/5(846건)물량은 최대지만 "보상 거부" 불만이 여러 게임 커뮤니티에 반복 등장. 단독 사용 리스크 큼.
ironSource(Unity LevelPlay)$30~80(안드로이드)/$50~120(iOS)양호Unity 공식 포럼 불만은 SDK 마이그레이션 관련 개발자 이슈이지 최종유저 불만이 아님.
AdGem중견 규모중간(3.4~3.58/5)최소 지급액 $25로 낮아 소규모 인디에 친화적 — 1차 후보로 적합.

우리 게임 적용안: 기존 "리워드" 탭(데일리선물·뽑기기계·광고제거가 모인 화면)에 뽑기 기계 카드 바로 옆 신규 카드로 배치(별도 전용 탭 대신 "상점 첫 슬롯" 원칙 적용). 문구는 "광고"가 아니라 "미션/도전과제"로 프레이밍하고, 오퍼마다 완료 전 정확한 보상액을 가챠 1회(100골드) 환산으로 표시("이 미션 하나 = 가챠 1번"). SDK는 AdGem을 1차로, 물량 보완용으로 ironSource 병행 — Tapjoy는 eCPM은 매력적이나 "보상 거부" 리스크가 커서 넣더라도 앱 자체에 수동 보상 지급 백업 프로세스를 반드시 같이 만들어야 P2W-0/광고=혜택 원칙이 안 깨진다.

② 달력형 장기 로그인 보상

"Genshin이라 무조건 호평받는다"는 가설은 실제로는 반박된다. Genshin Impact의 일일 출석 보상(월 60~80 프리모젬)조차 HoYoLAB·Reddit r/Genshin_Impact에서 "stingy(쩨쩨하다)", "needlessly punishing(불필요하게 가혹하다)"는 비판이 스니펫 수준으로 확인됨(미확인, 원문 미열람) — 다만 이 비판은 캘린더 구조 자체가 아니라 보상액 부족에 대한 불만이다. r/truegaming("done with the log-in-every-day mentality")·r/gachagaming("FOMO reward system is exhausting")에서 공통되는 반발 원인은 "습관"이 편의가 아니라 "숙제"로 느껴지는 순간, 그리고 놓친 날 = 손실로 프레이밍되는 스트릭 리셋형 구조다(둘 다 스니펫 확인, 미확인 등급).
게임화 전문가 Yu-kai Chou의 분석이 가장 구체적인 설계 원칙을 제공한다 — 3단계 구조: Bootstrap(1~14일, 잦고 눈에 띄는 보상) → Consolidation(15~30일, 빈도는 낮추되 안전장치) → Graduation(30일 이후, 매일 압박 대신 영구 해금). 회복 도구를 유료로 팔면 "유저 불안의 화폐화"라 신뢰를 깎는다는 경고도 핵심. Coin Master는 공식 지원문서 기준 "30일 진행바 + 30일차 대형 상품" 구조를 수년째 운영 중이며 이 구조 자체를 비판하는 글은 검색되지 않음(정황 근거, 직접열람 403으로 미확인). maf.ad·Unity 공식 문서는 놓친 날 처리를 4유형(Flexible·Generous·Penalty·Reset)으로 분류하며 Reset(1일차로 초기화)은 "오늘날 거의 안 쓰인다"고 명시.

우리 게임 적용안: 기존 7일 사다리(DAILY_GIFT_LADDER, 30~200골드)는 그대로 두고, 별도의 월간(30일) 장기 출석 캘린더를 병렬 트랙으로 신설. ① 놓친 날 처리는 Flexible 모델(누적 출석일수 기준, 하루 빠져도 스트릭 리셋 없이 다음 접속 때 다음 칸으로 순연) — r/truegaming·r/gachagaming에서 확인된 "리셋형 강제감" 반발 요인을 원천 차단. ② 보상 곡선은 Yu-kai Chou 3단계 결합 — 1~14일 소액(20~50골드), 7·14·21일 스파이크(100~150골드), 30일차 그랜드 프라이즈(300~500골드+한정 코스메틱). 일 평균은 기존 7일 사다리 평균(~90골드/일)과 비슷하게 맞춰 인플레이션 방지. ③ 광고 더블업은 1~29일차 소액 칸에만 적용하고 30일차 그랜드 프라이즈는 광고 배가 대상에서 제외(무료로 완전 획득 가능 유지) — Yu-kai Chou의 "회복 도구를 유료·시청 조건으로 걸지 말라"는 경고를 마일스톤 보상에 적용하기 위함.

③ App Open Ads

개발자 블로그 rorklab.net의 자체 A/B 테스트 기록이 가장 구체적인 실패 원인을 제공한다. Firebase Remote Config 설정 실수로 콜드스타트(최초/업데이트 후 첫 실행)에도 광고가 노출되자 반나절 만에 스토어 평점이 약 1점 하락했고, 리뷰에 "ad the moment I opened it"류 불만이 달렸다. 같은 저자가 노출 간격을 60초 미만으로 좁혔을 때도 "이탈이 눈에 띄게 악화"됨을 별도로 기록 — 즉 실패 원인은 (1)콜드스타트 노출 (2)과도하게 짧은 간격 (3)사진첩·공유시트·결제창 등 유저가 명확한 의도로 잠깐 나갔다 돌아온 모달 복귀 직후 노출 3가지로 압축된다.
같은 rorklab 3주 A/B 테스트 실측 수치: 간격 60초 코호트는 노출 +27%였지만 D1 리텐션 -2.1%p·ARPDAU -3%. 간격 180초 코호트는 노출 -6%였지만 D1 리텐션 거의 무변화·eCPM +12%·ARPDAU +18% — "빈도를 낮춰도(오히려 낮춰야) 장기 수익이 더 좋다"는 실측 근거. Google 공식 개발자 가이드도 "설치 후 몇 번 써본 뒤에 첫 광고를 보여주라", "앱이 로딩을 기다릴 시간에 보여주라"고 명시하며, AdMob 빈도캡 문서는 인터스티셜·보상형·App Open을 한 예산으로 묶어 취급하도록 설계돼 있다 — Google 스스로 세 포맷을 합치면 과부하가 난다는 걸 전제하고 있다는 방증. 업계 사례(casestudies.com)로는 CrazyLabs가 ARPU +5%(세션 플레이타임 저하 없음), Cross Field가 ARPU +30%를 보고했으나 구체적 빈도·유예기간 수치는 비공개(미확인).

우리 게임 적용안: 신규 유저는 설치 후 최소 며칠(구체 일수는 자체 A/B 필요) 유예 후 첫 노출. 모달 복귀(카메라 롤·공유시트·결제창) 직후엔 스킵. 가장 중요한 건 전면광고와 App Open Ads가 별도 캡을 갖지 않고, 기존 시간당 6회 캡·최근 노출 타임스탬프를 공유하는 것 — "라운드 종료 전면광고를 보고 → 앱을 잠깐 백그라운드로 보냈다가 → 바로 복귀"하는 순간에 App Open Ads까지 뜨면 유저에게 "광고 연타"로 인지되기 때문이다. 정확한 최소 간격(60초는 확인된 위험구간, 180초는 확인된 안전구간)은 출시 후 자체 A/B로 확정해야 한다.

부록 — 조사 한계

Google Play/App Store 리스팅은 개별 IAP 가격을 페이지에 노출하지 않는 경우가 많아 다수 항목이 "미확인"으로 남았다. 3rd-party 추정치(AppBrain/SensorTower)는 실제 수치와 오차가 있을 수 있다. 한국 유저 커뮤니티(디시인사이드/네이버 카페) 검색에서는 이 카테고리 앱들의 구체적 가격 언급을 찾지 못해, 국내 유저 반응은 이번 조사에서 다루지 못했다.
wwssolitaire · 내부 참고자료 · noindex · 관련: 이전 19개 앱 감사(대체됨) · 솔리테어 장르 특화 BM 재설계 · 마을 시즌패스 상세 설계