> For the complete documentation index, see [llms.txt](https://developers-apps-in-toss.toss.im/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers-apps-in-toss.toss.im/checklist/app-game.md).

# 게임 출시 가이드

미니앱에 공통으로 적용되는 기준과 기능별 출시 가이드예요. 출시하기 전에 반드시 내용을 확인하고 가이드를 지켜 주세요.

아래의 체크리스트를 지키지 않았거나 다크패턴이 확인되면 검수가 승인되지 않고, 출시 후에 확인된 경우에도 서비스 노출이 제한되거나 중단될 수 있어요.

{% hint style="info" %}
**참고해 주세요**

아래 출시 가이드의 항목은 지속적으로 최신화되고 있어요.
{% endhint %}

### 접속 및 사운드

* [ ] 미니앱이 10초 이내에 최초 화면까지 정상적으로 열려요.
* [ ] 배경음, 효과음, 햅틱 등 필요한 사운드 기능이 적용돼 있어요. 무음 모드이거나 시스템 진동이 꺼진 경우에도 의도한 동작을 유지해요.&#x20;
* [ ] 사운드가 있는 경우, 사용자가 직접 On 또는 Off를 설정할 수 있어요.
* [ ] 미니앱이 백그라운드로 전환되면 사운드가 즉시 종료돼요.
* [ ] 백그라운드 상태에서 미니앱으로 다시 돌아오면 사운드가 정상적으로 다시 재생돼요.

### UX 및 내비게이션 바

* [ ] 우측 상단의 닫기 버튼이 정상적으로 노출되고 동작해요.&#x20;
* [ ] Safe Area 영역을 침범하지 않아요. iOS의 Dynamic Island 영역도 포함해요.&#x20;
* [ ] 미니앱에 진입하자마자 바텀시트(토스 로그인, 알림 동의문 등)가 자동으로 나타나지 않아요.
* [ ] 특정 화면 전환 시 바텀시트를 사용해서 사용자 행동을 강제로 유도하지 않아요.&#x20;
* [ ] 모든 화면에서 사용자가 미니앱을 나갈 수 있는 방법이 있어요.&#x20;
* [ ] CTA 버튼을 보면, 눌렀을 때 어떤 행동이 이어지는지 예측할 수 있어요.&#x20;
* [ ] 링크나 컴포넌트로 자사 서비스 이동이나 자사 앱 설치를 유도하지 않아요.&#x20;
* [ ] 인앱 광고는 인트로/로딩/컷신/팝업 모달 등 일시적인 화면에 노출되지 않아요.&#x20;

### 사용자 식별키 발급

* [ ] 사용자 식별자 값을 확인하여 저장하고, 게임이 정상적으로 시작돼요.
* [ ] 유저의 플레이 기록(예: 랭킹, 레벨, 스테이지 등) 이 유지돼요.&#x20;
* [ ] 미니앱을 종료했다가 다시 접속해도 필요한 데이터가 유지돼요.&#x20;

### 보안 및 안정성

* [ ] 외부에서 전달받은 코드를 실행하는 기능은 사용할 수 없어요. (예: `eval` 등)
* [ ] 브라우저 히스토리 조작이나 웹뷰 임베드 등 어떤 방식으로든, 자사 사이트(토스 도메인 외부)로 이동하거나 그 콘텐츠를 렌더링할 수 없어요. 최종적으로 노출되는 콘텐츠는 반드시 토스 도메인 내에서 렌더링되어야 해요. (예: `window.location.replace`, 자사 도메인을 불러오는 WebView/iframe 중첩 등)
* [ ] 서버 사이드 렌더링(SSR)은 사용할 수 없어요. 클라이언트 사이드 렌더링(CSR) 또는 정적 사이트 생성(SSG) 방식만 사용할 수 있어요.
* [ ] WebSocket을 사용하는 경우, 암호화된 `wss://` 연결만 사용해요. (예: Firebase Firestore, Supabase Realtime 등)
* [ ] API 통신은 암호화된 HTTPS 연결만 사용해요.
* [ ] 사용자 로그인 정보, 결제(토스페이, 인앱 결제) 내역 등 민감 정보는 DB에 암호화해서 저장해야 해요.
* [ ] 개인정보를 클라이언트에서 자체 서버로 전송할 때도 암호화할 것을 권장해요.

### 서비스 이용 동작

* [ ] 안드로이드 시스템 백버튼을 누르면 뒤로가기 또는 미니앱이 종료돼요.
* [ ] 인게임 화면은 풀스크린으로 구현돼 있어요.
* [ ] 설정한 가로 모드 또는 세로 모드가 의도한대로 정상 작동해요.&#x20;
* [ ] 불법성이나 선정성 등 위법의 여지가 있는 콘텐츠가 포함돼 있지 않아요.
* [ ] 모든 UI 컴포넌트가 의도한 대로 정상 작동해요.
* [ ] 스크롤, 터치, 화면 전환 등 인터랙션 반응이 2초 이상 지연되지 않아요.&#x20;
* [ ] 위치, 알림 등 기기 권한은 사용자 동의를 먼저 받아요.
* [ ] 사용자가 권한에 동의하지 않아도 나머지 기능은 계속 정상적으로 작동해요.
* [ ] 비정상적으로 네트워크 사용량이 급증하지 않아요.
* [ ] 비정상적으로 메모리 사용량이 급증하지 않아요.
* [ ] 미니앱을 종료할 때 확인 모달이 노출돼요.
* [ ] 게임 내 점수 측정, 스테이지 클리어 등 주요 서비스 흐름에 오류가 없어요.

### 인앱 결제

* [ ] 인앱 결제를 진행할 때, 미니앱에서 재생 중인 음악은 일시 정지돼요.
* [ ] 인앱 결제 주문 금액과 구글 또는 애플 결제창에 표시되는 금액이 일치해요.&#x20;
* [ ] 인앱 결제가 정상적으로 진행돼요.&#x20;
* [ ] 인앱 결제가 완료된 뒤 미니앱으로 돌아오면 결제 결과가 정상적으로 반영돼요.
* [ ] 인앱 결제창에서 취소를 선택하면 주문 화면으로 돌아가요.
* [ ] 잔액 부족 등으로 결제에 실패했을 때, 사용자가 실패 사유를 인지할 수 있어요.
* [ ] 인앱 결제 취소가 정상적으로 처리돼요.
* [ ] 인앱 결제 상품에 대한 결제 내역을 사용자가 확인할 수 있어요.
* [ ] 토스 앱에 로그인된 기기를 변경해도, 기존에 결제한 인앱 결제 데이터(아이템 등)가 유지돼요.&#x20;

### 인앱 광고

* [ ] 인앱 광고가 재생될 때, 미니앱에서 재생 중인 음악은 일시 정지돼요.
* [ ] 토스 애즈 SSP 정책을 준수해요. ([#](https://developers-apps-in-toss.toss.im/documentation/common/monetization/iaa/interstitial-rewarded-ad#policy))
* [ ] 테스트 광고가 아닌 실제 인앱 광고가 정상적으로 노출되고, 중간에 종료되거나 튕기는 현상이 없어요.
* [ ] 사용자가 예상하기 어려운 순간에 인앱 광고를 노출하지 않아요.
* [ ] 인앱 광고가 정상적으로 노출되고, 중간에 종료되거나 튕기는 현상이 없어요.
* [ ] 인앱 광고는 사전에 로딩돼 있어요. 광고 재생 시점에 실시간으로 로딩하지 않아요.&#x20;
* [ ] 인앱 광고가 종료되면 미니앱 화면으로 정상적으로 돌아와요.&#x20;
* [ ] 인앱 광고 종료 후 미니앱 음악이 다시 재생돼요.
* [ ] 리워드 광고를 끝까지 시청하면 보상이 정상적으로 지급돼요.&#x20;
* [ ] 배너 광고가 상단 또는 하단에만 위치해요.

### 공유 리워드

* [ ] 설정한 공유 리워드 화면이 정상적으로 노출돼요.&#x20;
* [ ] 공유 리워드 화면을 닫으면 미니앱 화면으로 정상적으로 돌아와요.
* [ ] 친구 초대가 완료되면 보상이 정상적으로 지급돼요.

### 웹보드 게임

* [ ] 성인 인증 기능 연동을 사용해요.&#x20;
* [ ] 사용자가 문의할 수 있는 고객센터 문의 채널이 제공돼요.&#x20;
* [ ] 게임 내 확률형 아이템에 대한 확률 정보를 사용자가 확인할 수 있어요.&#x20;


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://developers-apps-in-toss.toss.im/checklist/app-game.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
