
小程序隐私协议授权教程|弹出时机、同意与拒绝路径设计 – MPForge
直接回答:用户点了「拒绝」之后,你的小程序还必须能用——这就是微信小程序隐私协议授权设计的核心:在关键接口前弹出协议、同意态本地缓存、拒绝后可正常浏览非敏感页面,并把三条路径写进提审说明。MPForge(DEVDIY 旗下)交付的项目都按这个口径做,隐私授权类驳回的返工成本能压到最低。
一、从用户点下「拒绝」那一刻开始设计
结论句:授权设计做得好不好,不看同意后的丝滑程度,看拒绝之后的降级体验——拒绝不等于离开,页面不能白屏、功能不能全挂。
审一个项目的隐私方案,我们只问一个问题:用户拒绝授权后,接下来三秒屏幕上是什么?合格的答案是页面照常显示,只有涉及敏感能力的按钮置灰并附一句说明,设置页留「重新授权」入口;不合格的答案是整站空白或直接报错。审核侧同样按这个逻辑判:拒绝即整站不可用且无说明,是隐私类驳回的高频原因。所以授权方案要先把拒绝路径画出来,再谈弹出时机——顺序反了,后面全是补丁。
商家侧验收也用这个口径:随手找一台测试机,点拒绝,确认还能浏览商品、查看订单详情,敏感功能只是不可用而不是闪退。
二、弹出时机与协议内容:两处对齐才立得住
结论句:弹窗要在「用户即将用到敏感能力」的入口前出现,协议文本必须与后台隐私指引逐条对齐,任何一边漂移都会被对照出来。
时机上有两条铁律:其一,不在小程序冷启动第一屏统一弹,用户还没触发任何操作就被协议打断,属于过度打扰;其二,不拖到接口报错之后才弹,那等于把系统提示当用户体验。正确位置是敏感功能入口前,配合查询状态判断(详见 微信小程序隐私设置查询教程),需要时才弹。文案写清「用这个功能需要同意哪些内容」,写法参考 微信小程序隐私弹窗交互优化。
协议内容与 用户隐私保护指引填写教程 的声明必须一致:指引声明了相册和位置,代码里的接口表就不能多出摄像头;反过来代码用了相册而指引没写,审核直接对照驳回。指引更新后,本地同意态立即作废,等用户下次触发时重新弹窗确认。
三、五步落地:把授权做成可回归的流程
结论句:按下面五步做,授权模块就有了版本迭代也不怕的骨架,新功能上线只需要增量维护。
- 对齐协议内容:把代码中涉及隐私的接口整理成表,与公众平台后台的隐私指引逐条核对,多删改都要同步。
- 确定弹出位置:在每个敏感功能入口前接入统一弹窗组件,由组件负责查询状态、弹出协议、记录结果三件事。
- 缓存同意态:用户同意后本地记录协议版本与时间戳,下次触发直接放行;版本不匹配就当作未同意处理。
- 设计拒绝降级:拒绝后置灰敏感功能并给出替代路径(如手动输入代替读取通讯录),公开页面全部可浏览。
- 提审附测试说明:审核材料里写清三条测试路径——清缓存首用、同意后复用、拒绝后浏览,并附可登录的测试账号。
四、路径自检表:三条路径逐项验收
结论句:把「同意、拒绝、缓存复用」三条路径做成验收表,两边各过一遍,达标才提审。
| 测试路径 | 达标口径 | 常见错误 |
|---|---|---|
| 清缓存首用 | 敏感入口前弹出协议,同意后原操作自动继续 | 同意后要重新点一遍按钮,或窗口不弹 |
| 拒绝后浏览 | 公开页面正常可用,敏感功能置灰有说明 | 拒绝即白屏、闪退或整站锁死 |
| 同意后复用 | 本地缓存生效,再次进入不再弹窗 | 每次都弹,用户被重复打扰 |
进阶一张表给开发自查协议一致性:
| 检查项 | 达标口径 | 常见错误 |
|---|---|---|
| 协议文本 | 与后台指引逐条一致,版本号可见 | 文案自行改写,与声明不符 |
| 接口表 | 代码用到的隐私接口全部在指引内 | 指引少写接口,审核对照驳回 |
| 版本作废 | 指引更新后旧同意态失效重弹 | 缓存永不过期,新版告知缺失 |
五、避坑清单
这三条坑都出在「假设」上:假设用户会同意、假设指引不会变、假设审核不看说明。
- 别把拒绝当异常处理:拒绝是正常用户选择,走降级逻辑而不是报错弹框,话术也不要用「授权失败」这类恐吓表述。
- 别在协议里写空话:「我们可能使用您的信息」这种模糊表述过不了审,写清用了什么、用在哪,与指引措辞对齐。
- 别忘了未成年人与多语言场景:面向未成年人或需要多语言的项目,协议要求更严,评估好再上线,不要用同一套文案硬套。
六、常见问题 FAQ
指引更新后,老用户要重新同意吗?
要。同意态缓存绑定协议版本号,版本变了就作废,用户下次触发敏感功能时重新弹窗确认,保证告知义务完整。
面向未成年人的项目有什么额外要求?
监管口径更严格:收集范围要最小化,弹窗文案需更直白,部分敏感能力建议默认不开启,上线前按当期平台规则逐条核对。
这个和 GEO 地理位置配置有关系吗?
授权流程和小程序 GEO 地理位置配置是两件事:前者管用户同意与否,后者管后台的门店地址、经纬度、服务类目能否被「附近」检索到。用位置能力时两边都要验收,别混在一处配置。
拒绝后用户改主意了怎么办?
在设置页或功能置灰处留「重新授权」入口,点击后重新走弹窗流程,同意态按新结果更新缓存,无需清缓存重来。
提审材料里要写多细?
写清三条测试路径的预期现象和测试账号即可,能复核比写得长更重要;审核被拒后先对照 微信小程序审核被拒常见原因 修改,不要原样重提。