> 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. Be sure to review them before launch and follow the guidelines.

If the checklist below is not followed or any dark patterns are found, review approval will be denied. Even if issues are found after launch, service visibility may be restricted or suspended.

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

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

### Access and sound

* [ ] The mini app opens normally to the initial screen within 10 seconds.
* [ ] Required sound features such as background music, sound effects, and haptics are implemented. Even in silent mode or when system vibration is turned off, the intended behavior is maintained.&#x20;
* [ ] If there is sound, users can set it to On or Off themselves.
* [ ] When the mini app goes to the background, sound ends immediately.
* [ ] When you return to the mini app from the background, sound plays normally again.

### UX and navigation bar

* [ ] The close button in the upper right is displayed and works normally.&#x20;
* [ ] It does not encroach on the Safe Area. This includes the iOS Dynamic Island area.&#x20;
* [ ] As soon as you enter the mini app, a bottom sheet (Toss Login, notification consent form, etc.) does not appear automatically.
* [ ] It does not force user actions by using bottom sheets during specific screen transitions.&#x20;
* [ ] Users have a way to exit the mini app on every screen.&#x20;
* [ ] When users see a CTA button, they can predict what action will follow when it is tapped.&#x20;
* [ ] It does not use links or components to drive users to the company’s own service or to install the company’s own app.&#x20;
* [ ] In-app ads are not shown on temporary screens such as intros, loading screens, cutscenes, or popup modals.&#x20;

### User identifier issuance

* [ ] The user identifier value is checked and stored, and the game starts normally.
* [ ] The user’s play history (e.g. ranking, level, stage, etc.) is maintained.&#x20;
* [ ] Even if the mini app is closed and then accessed again, the necessary data is preserved.&#x20;

### Security and stability

* [ ] Features that execute code received from outside cannot be used. (e.g. `eval` etc.)
* [ ] You cannot use any method, including browser history manipulation or webview embedding, to move to your own site (outside the Toss domain) or render its content. The content ultimately displayed must be rendered within the Toss domain. (e.g. `window.location.replace`, nesting WebView/iframe that loads your own domain, etc.)
* [ ] Server-side rendering (SSR) cannot be used. Only client-side rendering (CSR) or static site generation (SSG) methods can be used.
* [ ] If you use WebSocket, use only encrypted `wss://` connections. (e.g. Firebase Firestore, Supabase Realtime, etc.)
* [ ] API communications use only encrypted HTTPS connections.
* [ ] Sensitive information such as user login information and payment records (Toss Pay, in-app purchases) must be encrypted and stored in the DB.
* [ ] We also recommend encrypting personal information when transferring it from the client to your own server.

### Service usage behavior

* [ ] When the Android system back button is pressed, it goes back or the mini app exits.
* [ ] The in-game screen is implemented in full screen.
* [ ] The configured landscape or portrait mode works normally as intended.&#x20;
* [ ] It does not contain content that could be illegal, such as obscenity or sexual content.
* [ ] All UI components work normally as intended.
* [ ] Interactions such as scrolling, touch, and screen transitions are not delayed by more than 2 seconds.&#x20;
* [ ] Device permissions such as location and notifications first obtain user consent.
* [ ] Even if the user does not agree to the permissions, the remaining features continue to work normally.
* [ ] Network usage does not increase abnormally.
* [ ] Memory usage does not increase abnormally.
* [ ] A confirmation modal is displayed when exiting the mini app.
* [ ] There are no errors in major service flows such as in-game score tracking and stage clearing.

### In-app purchases

* [ ] When processing 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.&#x20;
* [ ] The in-app purchase proceeds normally.&#x20;
* [ ] When you return to the mini app after the in-app purchase is completed, the purchase result is reflected normally.
* [ ] If you select Cancel in the in-app purchase window, you return to the order screen.
* [ ] When payment fails due to insufficient balance, users can understand the reason for the failure.
* [ ] In-app purchase cancellation is processed normally.
* [ ] Users can view the payment history for in-app purchase products.
* [ ] Even if the device logged in to the Toss app is changed, previously purchased in-app purchase data (items, etc.) is retained.&#x20;

### In-app ads

* [ ] When an in-app ad plays, the music playing in the mini app is paused.
* [ ] Comply with the Toss Ads SSP policy. ([#](https://developers-apps-in-toss.toss.im/documentation/common/monetization/iaa/interstitial-rewarded-ad#policy))
* [ ] Actual in-app ads, not test ads, are displayed normally, and there are no interruptions or crashes in the middle.
* [ ] Do not display in-app ads at moments users would not expect.
* [ ] In-app ads are displayed normally, and there are no interruptions or crashes in the middle.
* [ ] In-app ads are preloaded in advance. They are not loaded in real time at the moment the ad plays.&#x20;
* [ ] When the in-app ad ends, you return to the mini app screen normally.&#x20;
* [ ] After the in-app ad ends, the mini app music plays again.
* [ ] When a reward ad is watched to the end, the reward is granted normally.&#x20;
* [ ] Banner ads are placed only at the top or bottom.

### Share reward

* [ ] The configured share reward screen is displayed normally.&#x20;
* [ ] When the share reward screen is closed, you return to the mini app screen normally.
* [ ] When inviting a friend is completed, the reward is granted normally.

### Web board game

* [ ] Adult verification feature integration is used.&#x20;
* [ ] A customer support inquiry channel is provided so users can make inquiries.&#x20;
* [ ] Users can check the probability information for chance-based items in the game.&#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/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.
