概述
LINE MINI App 是构建在 LIFF 之上的 Web 应用平台,运行于 LINE 应用内。本技能是其综合参考资料。
资料特别提示:不要凭记忆回答 LINE MINI App 的问题——LINE 会频繁更新 API,训练数据不可靠,应始终查阅下方参考资料。
使用方式(工作流)
- 先阅读 references/guidelines.md(政策规则、规范、约束)。
- 加载正在处理功能对应的相关参考文档。
- 涉及架构或设计选择时,查阅 references/experts.md。
- 评审时,将代码对照规范交叉核查(令牌生命周期、消息上限、作用域要求、模板命名、IAP 下单流程)。
环境变量
- LIFF_ID=LIFF 应用 ID(LINE MINI App 运行于 LIFF 之上)
- LINE_CHANNEL_ACCESS_TOKEN=无状态频道访问令牌(Service Messages、IAP)
- LINE_LOGIN_CHANNEL_ID=LINE Login 频道 ID(服务端验证)
- LINE_LOGIN_CHANNEL_SECRET=频道密钥(仅服务端)
MINI App 与 LIFF 对比
| 功能 | LIFF | MINI App |
|---|---|---|
| Service Messages | ✗ | ✅ 通过通知令牌主动通知 |
| Common Profile Quick Fill | ✗ | ✅ 用 LINE 资料数据自动填充表单 |
| In-App Purchase | ✗ | ✅ 应用商店支付(iOS/Android) |
| 提交审核 | 不需要 | 需要(LINE 审核流程) |
| 入口 | LIFF URL | LINE MINI App 列表 + LIFF URL |
MINI App 上下文中(LIFF 浏览器)所有 LIFF API 均可用。外部浏览器的限制见“关键约束”。
Service Messages(服务消息)
流程:用户打开 MINI App → liff.getAccessToken() → 签发通知令牌 → 发送服务消息(最多 5 条)。
- 令牌有效期:1 年,每个令牌最多 5 条消息。
- 用户关闭 MINI App 时 LIFF 访问令牌会被撤销——需在用户离开前签发通知令牌。
完整 API 规范、模板结构、错误码见 references/service-messages.md。
Common Profile Quick Fill(通用资料快速填充)
const result = await liff.$commonProfile.get(scopes, { formatOptions });
liff.$commonProfile.fill(result.data); // auto-fill <input data-liff-autocomplete="...">
完整 API 规范、作用域、假数据见 references/common-profile.md。
In-App Purchase(应用内购买)
仅限日本。仅限消耗型数字内容。需要 LIFF SDK ≥ 2.26.0、LINE ≥ 15.6.0、LIFF 浏览器。
购买流程(客户端 + 服务端)、开发准则、错误码见 references/in-app-purchase.md。
关键约束
- MINI App 运行于 LIFF——所有 LIFF 约束均适用(Endpoint URL、初始化顺序、环境差异)。
- 仅可使用无状态频道访问令牌——长期令牌和 v2.1 令牌不能用于 MINI App 频道。
- 频道同意简化仅跳过 openid——profile、email、chat_message.write 需要验证页;需 LIFF SDK v2.13.x+、已验证的 MINI App。
- 自定义分享消息必须使用 Bubble 容器(不能用 Carousel);操作只能放在按钮和页脚上。
- 外部浏览器:liff.init() 不会自动登录(使用 withLoginOnExternalBrowser: true);sendMessages、openWindow、closeWindow、iap.* 不可用。
- LINE Pay 已在日本终止(2025 年 4 月 30 日)——请在 LINE Pay 文档确认当前可用性。
- IAP 鉴权因端点而异:reserve 使用用户令牌,webhook history 使用频道令牌;webhook 使用签名验证,而非 IP 限制。
- 频道创建后不能迁移到其他提供商;用户 ID 因提供商而异。
参考索引
| 文件 | 主题 |
|---|---|
| references/guidelines.md | 先阅读。MINI App 概览、已验证与未验证、规范、性能、迁移、开发规则、Quick Fill 设计规定 |
| references/console-setup.md | 频道创建、3 个内部频道、LIFF ID、令牌、基本认证、显示映射、本地化、设置生效、重新审核 |
| references/features.md | 内置功能(操作按钮、多标签、同意简化)、自定义功能(Custom Path、快捷方式、自定义操作按钮、分享消息、OA、支付)、永久链接、外部浏览器、UI 组件 |
| references/service-messages.md | 通知令牌生命周期、发送 API、模板结构、审核生命周期、字符限制、错误码 |
| references/common-profile.md | Quick Fill API、作用域、表单自动填充、插件设置、假数据 |
| references/in-app-purchase.md | 购买流程(客户端 + 服务端)、reserve、webhook、开发准则、申请与设置、测试支付、错误码 |
| references/submission-review.md | 提交流程、预审清单、审核周期、批准流程、发布变更 |
| references/experts.md | LINE MINI App 领域专家,用于架构指导 |
SDK 与工具
- LINE MINI App 构建于 LIFF SDK:@line/liff
- Quick Fill 插件:@line/liff-common-profile-plugin
- 脚手架:npx @line/create-liff-app
- LINE MINI App Playground:miniapp.line.me/lineminiapp_playground —— 在线 MINI App API 测试