후기 요청 창, 언제 띄울까 — 토스와 구글 플레이에 같은 규칙을 넣은 이야기
앱인토스 추천 미니앱 기준 네 가지 중 하나가 리뷰인데, 우리 앱은 9월 29일까지 별점을 요청한 적이 한 번도 없었습니다. 충분히 써 본 사람에게만, 드물게, 흐름을 끊지 않게 — 토스 미니앱 33종과 Play 앱 27종에 같은 규칙으로 별점 창을 넣은 과정과 테스트에서 걸린 것들을 정리했습니다
Info
Reviews are one of the four signals Apps in Toss uses to pick recommended mini apps, yet none of our apps had ever asked for a rating until 29 September 2026. We added one shared rating-prompt gate to 33 Toss mini apps and 27 Google Play apps. It only fires for people who have used the app five times across at least two different days, never right after launch and never on top of an ad, at most three times per device with sixty days in between. Toss and Google each decide for themselves whether the dialog actually appears, so the app never waits for the outcome.
앱인토스는 10월 22일부터 추천 미니앱을 고를 때 UX·실사용 지표·리뷰·성능 네 가지를 봅니다(노출 정책 정리 글). 그런데 운영 중인 앱 서른 몇 개를 전부 뒤져 보니 별점이나 후기를 남겨 달라고 요청하는 코드가 한 줄도 없었습니다. 후기가 쌓일 길이 애초에 없었던 셈입니다.
그래서 토스와 구글 플레이 양쪽에 별점 요청을 넣었습니다. 어려운 건 “넣는 것”이 아니라 “언제 띄우느냐”였습니다. 잘못 띄우면 후기 대신 짜증이 쌓이고, 토스에서는 검수 반려 사유가 됩니다.
원칙 — 만족했을 법한 순간에, 드물게, 흐름과 떼어서
토스 개발 문서가 권하는 방식을 그대로 따랐습니다.
- 핵심 행동을 마친 직후에 부릅니다. 우리 앱에서는 한 판이 끝났을 때, 번호를 뽑았을 때, 카드를 뒤집어 결과를 봤을 때입니다.
- 결과를 기다리지 않습니다. 토스는 피로도 정책에 따라 창을 띄울지 스스로 정하고, 이미 별점을 남긴 사람에게는 아무것도 띄우지 않습니다. 구글 플레이도 할당량으로 정하고, 창이 떴는지조차 앱에 알려 주지 않습니다. 그래서 요청 결과에 화면 전환이나 보상을 걸지 않았습니다.
- 같은 실행에서 두 번 묻지 않습니다.
언제 뜨나
| 조건 | 값 | 이유 |
|---|---|---|
| 누적 사용 | 5회 이상 | 써 보지도 않은 사람에게 묻지 않는다 |
| 사용한 날 | 서로 다른 날 2일 이상 | 하루 쓰고 떠난 사람이 아니라 돌아온 사람에게 |
| 이번 실행 | 2번째 사용부터 | 앱을 열자마자 뜨는 창은 토스 검수 반려 사유다(알림 동의 창에서 겪었다) |
| 다른 창 | 같은 실행에서 알림 동의를 띄웠으면 건너뜀 | 창 두 개를 연달아 띄우지 않는다 |
| 다시 묻기 | 요청 뒤 60일 쉼 | 자주 물으면 피로해진다 |
| 평생 | 기기당 3회까지 | 끝까지 남기지 않는 사람도 있다 |
| 시점 | 결과 화면이 그려지고 1.5초 뒤 | 결과를 먼저 보게 한다 |
| 광고 | 전면·보상형 광고가 떠 있으면 닫힌 뒤 1.5초 | 광고 위에 겹치지 않게. 1분 넘게 안 닫히면 그 실행은 포기 |
그사이 사용자가 다른 앱으로 넘어가 화면이 가려졌으면 부르지 않습니다.
한 군데에 넣고 전부에 퍼뜨린 구조
앱이 서른 개가 넘으면 앱마다 따로 넣는 순간 반드시 빠지는 곳이 생깁니다. 그래서 모든 앱이 판이 끝날 때 이미 부르고 있던 지점에 리뷰 판단을 얹었습니다. 알림 동의 창을 띄울지 판단하는 “사용 1회 끝” 신호입니다. 공용 모듈 한 곳만 고치면 되고, 앱은 다시 빌드만 하면 됩니다.
- 토스: 래퍼의 브릿지가 앱인토스 SDK의
Review.request를 부릅니다. 토스 앱 5.253.0 이상에서만 동작하고, 그보다 낮으면 기록을 남기지 않고 조용히 건너뜁니다. 나중에 토스 앱을 업데이트하면 다시 기회가 생깁니다. - 구글 플레이: 안드로이드 래퍼에
requestReview브릿지를 새로 만들어 Google Play 인앱 리뷰 API를 부릅니다. 이 메서드가 없는 예전 설치본에서도 조용히 건너뜁니다. - 아동 앱은 끕니다. 한글 몬스터·수학 몬스터는 웹 쪽 판단을 끄고, Play 판은 리뷰 라이브러리를 아예 빼고 빌드합니다. 광고 SDK를 뺄 때와 같은 방식입니다.
테스트에서 걸린 것
- 에뮬레이터에서는 창이 안 뜹니다. 에뮬레이터에는 Play 스토어가 없어서 요청이 “서비스에 연결할 수 없다”로 끝납니다. 오류처럼 보이지만 정상이고, 실제 창은 Play에서 설치한 앱에서만 뜹니다. 그래서 에뮬레이터에서는 판단을 통과한 요청이 네이티브 코드까지 넘어가는지까지만 확인했습니다.
- 에뮬레이터 시계는 UTC입니다. PC 기준 “어제”로 사용 기록을 심었더니 기기에서는 “오늘”이 되어 “서로 다른 날 2일” 조건이 차지 않았습니다. 날짜는 앱 페이지 안에서 계산해서 심어야 합니다.
- 결과 화면 직후에 전면 광고를 띄우는 게임이 있었습니다. 그대로 두면 별점 창이 광고와 겹치거나 광고에 묻힙니다. 광고가 떠 있는 동안은 기다렸다가 닫힌 뒤에 부르도록 했습니다.
- 판단 규칙은 단위 테스트 13개로 고정했습니다. 조건 미달, 쉬는 기간, 평생 횟수, 광고 대기, 저장소 오류를 다룹니다.
출시
9월 29~30일에 토스 미니앱 33종(아동 앱 2종 제외)을 검수 요청해 출시했고, 9월 30일에 Play 앱 27종에 업데이트를 올렸습니다. Play에 새로 낸 6종은 첫 심사가 끝난 뒤에 같은 내용을 올립니다. 지금 새 버전을 올리면 심사가 처음부터 다시 시작되기 때문입니다.
출시 노트에는 “앱을 여러 번 써 주신 분께는 가끔 별점을 남길 수 있는 창이 떠요”라고 적었습니다. 숨길 이유가 없는 변화입니다.
새 앱에서 빠지지 않게
이번처럼 “전부 한 번에 넣기”는 해 놓고 그다음에 만드는 앱에서 빠지는 일이 제일 흔합니다. 그래서 출시 체크리스트에 항목을 넣고, 출시 전 자동 검사 도구가 세 가지를 확인하게 했습니다.
- 앱 코드에 리뷰 판단이 연결돼 있는가(아동 앱은 꺼져 있는가)
- Play 빌드에 리뷰 라이브러리가 들어가는가(아동 앱은 빠져 있는가)
- 토스 래퍼 브릿지에 요청 함수가 있는가
지금 있는 35개 앱이 모두 통과합니다.
앞으로 볼 것
조건상 첫 창은 업데이트를 받은 뒤 다섯 번을 쓰고 이틀에 걸쳐 돌아온 사람에게만 뜹니다. 그래서 효과는 빨라도 이번 주말부터 보일 겁니다. 토스 후기와 Play 리뷰 수를 매주 장부에 쌓고 있으니, 한 달쯤 지나 숫자가 나오면 이 글에 덧붙이겠습니다.