> 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-zh/checklist/app-nongame.md).

# 非游戏发布指南

这是适用于迷你应用的通用标准和各功能发布指南。发布前请务必确认内容并遵守指南。

{% hint style="info" %}
**请参考**

以下发布指南中的项目会持续更新。
{% endhint %}

### 接入及应用内功能

* [ ] 小程序可正常打开。
* [ ] “应用内功能” 中 안내的所有服务功能，在小程序中也能以相同方式使用。 (#)
* [ ] 在“应用内功能”中注册的 scheme 可正常连接。
* [ ] 通过应用 scheme 进入后，返回按钮可正常工作。 (#)

### 导航栏

* [ ] 正在使用 App in Toss 非游戏导航栏。 (#)
* [ ] \[左侧] 返回按钮(<)在所有页面都能正常工作。 (#)
* [ ] \[中间] 在应用信息中注册的品牌 Logo 和小程序名称（韩文）会显示在导航栏中。 (#)
* [ ] \[中间] 主页按钮可正常工作。（可选） (#)
* [ ] \[右侧] 小程序功能按钮最多只显示 1 个。（可选） (#)
* [ ] Toss 导航栏的返回按钮和小程序中自行实现的返回按钮不会同时显示。 (#)
* [ ] “更多”按钮（⋯）中可正常提供 Toss 通用功能（举报、分享等）。 (#)
* [ ] 显示关闭按钮和返回按钮，且其行为清晰明确。
* [ ] 在初始页面按下返回后，小程序会退出。
* [ ] 如果使用标签栏，则以与 Toss App 相同的浮动形式实现。 (#)

### 用户标识符发放

* [ ] 确认并保存用户标识值后，小程序可正常启动。 (#)
* [ ] 用户的小程序使用记录会被保留。 (#)
* [ ] 即使退出迷你应用后再次接入，所需数据也会保持。(#)

### 安全与稳定性

* [ ] 无法使用从外部传入的代码执行功能。（例如： `eval` 等）
* [ ] 无法使用通过操控浏览器历史记录跳转到自家网站的方式。（例如： `window.location.replace` 等）
* [ ] 无法使用服务器端渲染（SSR）。只能使用客户端渲染（CSR）或静态站点生成（SSG）方式。
* [ ] 如果使用WebSocket，只使用加密的 `wss://` 连接。（例如：Firebase Firestore、Supabase Realtime等）
* [ ] API通信只使用加密的HTTPS连接。
* [ ] 用户登录信息、支付（Toss Pay、应用内购买）记录等敏感信息必须加密后存储到数据库中。
* [ ] 也建议在从客户端向自有服务器传输个人信息时进行加密。

### 服务使用行为

* [ ] 除地图等确有必要的情况外，基于手势的放大·缩小功能会被停用。 (#)
* [ ] 小程序主题以浅色模式实现。
* [ ] 所有 UI 组件都按预期工作。
* [ ] 滚动、触摸、画面切换等交互响应不会延迟2秒以上。(#)
* [ ] 即使退出小程序后再次进入，所需数据也会被保留。 (#)
* [ ] 服务使用所必需的外部链接可正常打开。 (#)
* [ ] 在分享功能中 `不使用 intoss-private://` 链接 `使用 intoss://` scheme。 (#)
* [ ] 小程序文案中不包含脏话、俚语、过度流行语。 (#)
* [ ] 在需要用户说明或确认时使用 TDS 弹窗。
* [ ] 不包含违法内容，如非法性、色情等。
* [ ] 在 React Native 应用中，请在请求权限之前先获得用户同意。(#)
* [ ] 即使用户不授予权限，其余功能也能继续正常工作。
* [ ] 网络使用量不会异常激增。
* [ ] 内存使用量不会异常激增。

### UX

* [ ] 一进入小程序，底部弹窗不会自动打开。 (#)
* [ ] 在特定页面切换时，不会通过底部弹窗强制引导用户操作。 (#)
* [ ] 在所有页面中，用户都能明确知道如何退出小程序。 (#)
* [ ] 看到 CTA 按钮时，能够预测接下来会发生什么操作。 (#)
* [ ] 不会通过链接或组件引导跳转到自家服务或安装自家应用。(#)
* [ ] 应用内广告不会显示在引导页/加载/过场动画/弹窗模态等临时画面中。(#)

### Toss 登录

* [ ] 如果使用 Toss 登录，会在引导页提供服务说明，以便用户了解这是什么服务。 (#)
* [ ] 已设置的 Toss 登录条款页面 URL 可正常显示。 (#)
* [ ] 在请求 Toss 登录的页面选择关闭时，小程序会退出。 (#)
* [ ] 在 Toss App 中解除登录关联后，再次进入小程序时，会显示重新请求登录的条款页面。
* [ ] 在 Toss App 中解除登录关联后，用户数据不会留在小程序中。 (#)
* [ ] 不提供非 Toss 登录的自有登录或其他登录方式。

### 应用内购买

* [ ] 进行应用内购买时，迷你应用中正在播放的音乐会暂停。
* [ ] 应用内购买订单金额与 Google 或 Apple 付款窗口中显示的金额一致。(#)
* [ ] 应用内购买会正常进行。也会在 Google 购买测试环境中确认。
* [ ] 应用内购买完成后返回迷你应用时，购买结果会正常反映。
* [ ] 在应用内购买窗口中选择取消时，会返回订单页面。
* [ ] 因余额不足等原因购买失败时，用户能够识别失败原因。
* [ ] 应用内购买取消会正常处理。
* [ ] 用户可以确认应用内购买商品的购买记录。
* [ ] 即使更换了登录到 Toss App 的设备，之前购买的应用内购买数据（如通行证等）也会保留。 (#)

### Toss Pay

* [ ] 在进行 Toss Pay 便捷支付时，小程序中正在播放的音乐会暂停。
* [ ] 订单金额与 Toss Pay 支付窗口中显示的金额一致。
* [ ] Toss Pay 支付失败时，会显示错误信息，用户能够识别失败原因。 (#)
* [ ] 在 Toss Pay 支付前选择取消时，会返回上一页。
* [ ] 不提供 Toss Pay 以外的其他支付方式。
* [ ] 在 Toss Pay 支付窗口中选择取消时，会跳转到订单页面。

### 应用内广告

* [ ] 应用内广告播放时，迷你应用中正在播放的音乐会暂停。
* [ ] 不会在用户难以预料的时刻展示应用内广告。(#)
* [ ] 应用内广告会正常展示，不会中途结束或闪退。
* [ ] 应用内广告会预先加载。播放广告时不会实时加载。(#)
* [ ] 应用内广告结束后会正常返回迷你应用画面。(#)
* [ ] 应用内广告结束后，迷你应用音乐会再次播放。
* [ ] 完成观看奖励广告到底后，会正常发放奖励。(#)
* [ ] 横幅广告会在合适的位置展示。（顶部/中部/底部） (#)
* [ ] 横幅广告仅在可滚动的页面中展示。 (#)

### 分享奖励

* [ ] 设置的分享奖励页面会正常展示。(#)
* [ ] 关闭分享奖励页面后，会正常返回迷你应用画面。
* [ ] 好友邀请完成后，奖励会正常发放。(#)


---

# 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-zh/checklist/app-nongame.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.
