微信小程序发布审核指南.md
6.36 KB
微信小程序发布审核指南(实战版)
目标:减少“代码审核不通过/反复驳回/二审时间变长”的概率,把风险点提前清掉。
本文聚焦两类信息:
- 官方明确写在规则/指南里的硬性红线与提审要求
- 开发者高频踩坑(审核员常用驳回口径、容易被机器识别的文案/路径)
1. 提审流程要点(别在流程上翻车)
1.1 提审信息填写
- 服务类目必须与实际功能一致,且“类目对应页面”可直接体验(不隐藏、不多次跳转)
- 简介要写清楚功能点,避免“提高体验/提升效率”等空话,且与名称、功能一致
- 若存在登录/付费/受限功能:必须提供可用测试账号/测试路径/说明,否则按“不可用/不完整”驳回
官方参考:
- 小程序平台常见拒绝情形(含类目、基本信息、功能完整性等)https://developers.weixin.qq.com/minigame/product/reject
1.2 审核可用性(审核员常用检查方式)
- 从首页出发:两次点击内能到达所有核心功能页(尤其是你在提审页选择的类目对应页面)
- 新用户体验:无缓存/无登录态打开不报错,不出现空白页/死循环 loading
- 弱网/断网:不要直接白屏或无限 toast;至少给明确提示或离线降级
2. 最容易被拒的“写法/文案/入口”
2.1 诱导分享/诱导关注(机器+人工都很敏感)
高风险特征(建议彻底避免):
- “分享/转发/朋友圈/群/邀请” + “奖励/积分/解锁/才能继续”
- “关注公众号/关注后继续/关注领取/关注获取福利”
- 用红点/强提示/遮罩引导用户点击分享
官方参考(诱导行为规则与处罚):
- 运营规范/诱导分享相关条款(开放文档)https://developers.weixin.qq.com/minigame/product/index.html
- 开放社区:滥用分享违规说明(含深度互动/利益诱导等示例)https://developers.weixin.qq.com/community/business/doc/0000441e234178e10d3d49fe45180d
2.2 外链/跳转到非业务域名(尤其 web-view)
高风险特征:
- 在小程序内直接引导去 H5 付费/登录/完成核心流程
- web-view 打开未配置的业务域名,或用于绕过平台能力限制
建议:
- 能用小程序原生能力就别用 web-view 承担核心流程
- 如果必须 web-view:业务域名在公众平台“开发-开发设置-业务域名”配置并校验
2.3 “虚拟支付”相关展示(iOS 特别敏感)
典型驳回口径:小程序涉及虚拟产品购买,iOS 不支持,任何引导到支付流程的路径/文案都可能被拒(包含价格展示、购买按钮、引导去公众号/H5/外链付费等)。
官方/社区案例参考:
- 开放社区驳回示例(含 iOS 虚拟支付常见口径)https://developers.weixin.qq.com/community/develop/doc/000082c5c882c8e25e297442a51400
注意:
- 这里的“虚拟支付”主要指非实物/数字内容类;线下服务、门票等通常走正常微信支付更常见,但仍要避免“引导去外部支付”这类写法
3. 隐私合规与权限(2023+ 强制门槛,缺了直接拦截)
3.1 必做:配置《用户隐私保护指引》
- 在小程序管理后台按实际情况声明:你收集哪些信息、用途、保存期限、共享对象等
- 若代码调用了微信“隐私接口/组件”,但后台未声明,会直接报无权限(也可能导致提审拦截)
官方参考:
- 用户隐私保护指引填写说明 https://developers.weixin.qq.com/miniprogram/dev/framework/user-privacy/
- 隐私协议开发指南(含 open-type=agreePrivacyAuthorization 等)https://developers.weixin.qq.com/miniprogram/dev/framework/user-privacy/PrivacyAuthorize.html
3.2 隐私接口/组件常见清单(用到就要声明+授权同步)
常见触发隐私合规校验的能力包括(举例):
- 获取手机号(getPhoneNumber / getRealtimePhoneNumber)
- 获取用户昵称头像组件(如 input type="nickname" 等)
- 位置、相册、摄像头、通讯录、运动步数等相关能力(以官方隐私指引映射为准)
开发建议:
- 权限申请必须由用户主动触发(按钮点击等),不要在 onLoad/onShow 自动弹授权
- 只申请“用得到的最小权限”,并在 UI 上解释用途(更利于审核员理解)
4. 容易被忽略但会驳回的工程类问题
4.1 “测试页/演示页/调试入口”进入生产包
常见后果:
- 被认定为“功能不完整/不可用/与类目不一致”
- 审核员进入测试页看到“模拟/开发调试/仅开发者工具可用”等字样,直接扣分
建议:
- 测试页不要出现在生产 pages 列表里(开发环境可保留)
- 不要在正式 UI 中暴露“模拟支付/测试按钮/开发入口”
4.2 空白页、死循环、错误弹窗
常见后果:按“可用性和完整性不符合规则”驳回。
建议:
- 核心流程必须能走通:预约->提交->支付->成功/失败->订单/二维码展示
- 网络错误要有兜底页或明确提示,避免无限 loading/toast
5. 提交前自检清单(可直接照抄做发布门禁)
5.1 功能可用性
- 新用户冷启动:首页可见内容不空白,不要求先手动操作才能看到任何内容
- 登录/授权:失败有明确提示,且不会无限跳转
- 支付(如有):成功/失败/取消都能回到可理解的状态;无“引导去外部付费”
5.2 合规与文案
- 无“诱导分享/诱导关注/诱导下载/诱导抽奖”的强引导文案或图标
- 无“朋友圈”强指向文案(更建议用“分享给好友”“保存图片”这类中性表述)
- 若涉及用户信息(身份证/手机号等):在产品侧能让用户查看隐私政策入口,后台隐私指引已按实际填写并通过
5.3 生产包清洁度
- pages 列表不包含 demo/test/nfc 等测试页面
- console/error 日志不输出敏感信息(身份证号、手机号、session 等)
6. 发生驳回后的处理套路(提效)
- 严格按驳回点改:只改一类问题,避免一次性改太多导致定位困难
- 截图/录屏给审核员“可复现路径”:从首页点击到具体页,展示已整改
- 不建议频繁撤回重提:重排队成本高;除非重大 bug 才撤回
社区经验参考(审核节奏、加急等):
- 微信小程序过审指南(经验总结)https://github.com/lingziyao115/miniprogram