> 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/landing-page/landing-page-en/checklist/app-game.md).

# Game Release Guide

These are the common standards and feature-specific launch guidelines for mini apps. Please be sure to review the contents and follow the guidelines before launching.

{% hint style="info" %}
**Please note**

The items in the launch guidelines below are continuously being updated.
{% endhint %}

### Access and sound

* [ ] The mini app opens properly to the first screen within 10 seconds.
* [ ] Required sound features such as background music, sound effects, and haptics are implemented. It maintains the intended behavior even in silent mode or when system vibration is turned off. (#)
* [ ] If there is sound, the user can set it to On or Off themselves.
* [ ] When the mini app goes to the background, the sound stops immediately.
* [ ] When you return to the mini app from the background, the sound resumes normally.

### UX and navigation bar

* [ ] The close button in the top-right corner is displayed and works properly. (#)
* [ ] It does not infringe on the Safe Area. This includes the Dynamic Island area on iOS. (#)
* [ ] A bottom sheet does not appear automatically as soon as you enter the mini app. (#)
* [ ] It does not force user actions by using a bottom sheet during specific screen transitions. (#)
* [ ] There is a way for the user to exit the mini app on every screen. (#)
* [ ] When you see a CTA button, you can predict what action will follow when tapped. (#)
* [ ] It does not guide users to move to the company’s own service or install the company’s app through links or components. (#)
* [ ] In-app ads are not shown on temporary screens such as intro/loading/cutscene/pop-up modals. (#)
* [ ] The brand logo registered in app information and the mini app name (Korean) are reflected in the navigation bar. (#)

### User identifier issuance

* [ ] The user identifier value is checked and stored, and the game starts normally. (#)
* [ ] The user's play records (e.g. rank, level, stage, etc.) are maintained. (#)
* [ ] Even if you exit and re-enter the mini app, the required data is maintained. (#)

### Security and stability

* [ ] Features that execute code received from outside cannot be used. (e.g.: `eval` etc.)
* [ ] Methods that manipulate browser history to redirect to your own site cannot be used. (e.g.: `window.location.replace` etc.)
* [ ] Server-side rendering (SSR) cannot be used. Only client-side rendering (CSR) or static site generation (SSG) methods can be used.
* [ ] If using WebSocket, use only encrypted `wss://` connections. (e.g.: Firebase Firestore, Supabase Realtime, etc.)
* [ ] API communication uses only encrypted HTTPS connections.
* [ ] Sensitive information such as user login information and payment details (Toss Pay, in-app purchases) must be encrypted and stored in the DB.
* [ ] We also recommend encrypting personal information when transmitting it from the client to your own server.

### Service usage behavior

* [ ] The in-game screen is implemented in full screen. (#)
* [ ] The configured landscape or portrait mode works properly as intended. (#)
* [ ] The operating system's back gesture cannot be used. (#)
* [ ] It does not contain content that may be illegal, such as content of illicit or sexual nature.
* [ ] All UI components work properly as intended.
* [ ] Interaction responses such as scrolling, touch, and screen transitions are not delayed by 2 seconds or more. (#)
* [ ] In React Native apps, user consent is obtained before requesting permissions. (#)
* [ ] Even if the user does not agree to the permissions, the remaining features continue to work normally.
* [ ] Network usage does not spike abnormally.
* [ ] Memory usage does not spike abnormally.
* [ ] A confirmation modal is shown when exiting the mini app.
* [ ] There are no errors in key service flows such as in-game score measurement and stage clearing.

### In-app purchases

* [ ] When proceeding with an in-app purchase, the music playing in the mini app is paused.
* [ ] The in-app purchase order amount matches the amount shown in the Google or Apple payment window. (#)
* [ ] In-app purchases proceed normally. Also verify in the Google payment test environment.
* [ ] After an in-app purchase is completed and you return to the mini app, the purchase result is reflected properly.
* [ ] If you select Cancel in the in-app purchase window, you return to the order screen.
* [ ] When a payment fails due to insufficient balance, etc., the user can understand the reason for the failure.
* [ ] In-app purchase cancellations are handled properly.
* [ ] The user can view the payment history for in-app purchase products.
* [ ] Even if the device logged into the Toss app is changed, previously purchased in-app purchase data (items, etc.) is maintained. (#)

### In-app ads

* [ ] When an in-app ad is played, the music playing in the mini app is paused.
* [ ] In-app ads are not shown at moments that are difficult for users to anticipate. (#)
* [ ] In-app ads are displayed properly, with no premature termination or crashing in the middle.
* [ ] In-app ads are preloaded. They are not loaded in real time at the moment of playback. (#)
* [ ] When the in-app ad ends, you return to the mini app screen normally. (#)
* [ ] After the in-app ad ends, the mini app music plays again.
* [ ] If you watch a rewarded ad to the end, the reward is granted properly. (#)
* [ ] Banner ads are placed only at the top or bottom. (#)

### Share rewards

* [ ] The configured share rewards screen is displayed properly. (#)
* [ ] When you close the share rewards screen, you return to the mini app screen normally.
* [ ] When inviting a friend is completed, the reward is granted properly. (#)

### Web board games

* [ ] Uses adult verification feature integration. (#)
* [ ] A customer support inquiry channel is provided so users can contact support. (#)
* [ ] The user can check the probability information for random-item loot in the game. (#)


---

# 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/landing-page/landing-page-en/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.
