
微信小程序隐私设置查询教程|getPrivacySetting 何时弹窗与同意态缓存 – MPForge
直接回答:这篇微信小程序隐私设置查询教程写给开发与验收两侧:在用户即将用到敏感能力前调用 getPrivacySetting 查一次隐私设置,先判断用户是否已同意隐私协议、本次会涉及哪些需授权接口,再决定弹不弹窗、什么时候弹。MPForge(DEVDIY 旗下)按这套口径交付的项目,隐私弹窗类审核问题基本能在提审前自测掉,不会出现「全站一进来就弹」的翻车现场。
一、为什么先查询再弹窗:乱弹比不弹更伤转化
结论句:弹窗时机不是产品口味的选择题,而是「查询结果 + 当前场景」共同决定的判断题——先查 getPrivacySetting,再按场景弹,转化和过审两头都稳。
实际项目里最常见的两类翻车恰好是两个极端:一种是该弹不弹,用户直接调用相册、位置接口报错,只看到一串看不懂的 fail 回调;另一种是逢页必弹,用户点开首页就先见到隐私协议,没看到任何功能就被劝退。两种都会被审核判定为隐私体验问题。正确做法是把「是否弹窗」交给查询结果:已同意就静默放行,需授权才在用户主动触发敏感操作的入口前弹出协议。分工口径很清晰——开发把查询与弹窗逻辑做成统一组件,商家验收时只看「我用了什么功能,就只弹了对应的窗」。
要注意查询本身不产生任何授权行为,它只是读状态:用户没同意,返回 needAuthorization;已同意则直接走主路径。把这条口径写进团队文档,能避免一半以上的争议。
二、getPrivacySetting 的返回怎么用:两条分支各自闭环
结论句:返回结果只有两种走向,每种走向都要有终点——同意后重试原操作,拒绝后给出降级,绝不能停在半路。
具体来说,查询到 needAuthorization 时,标准的分支是调起隐私协议弹窗组件:用户点同意,记录同意态、重试刚才被拦下的操作;用户点拒绝,不阻塞浏览,只把当前敏感功能置灰或引导到替代路径,参考 微信小程序隐私弹窗交互优化 做文案与时机。查询到已同意时,直接放行原操作,不再弹任何窗。这里的隐藏坑是重试要带上下文:比如用户在选图前被弹窗,同意后应自动继续选图,而不是让用户再点一遍按钮。实现上把原操作封装成可重入的函数即可。
同意态缓存要与指引对齐:用户隐私保护指引填写教程 里声明了哪些接口,代码里就维护同一张需授权接口表,两边不一致是审核对照时的硬伤。
三、落地步骤:从接口清单到版本变更复查
结论句:这套流程五步走完才算闭环,顺序不能倒——先有接口清单,再有查询与弹窗,最后靠版本变更复查兜底。
- 维护需授权接口表:列出项目里所有涉及隐私的接口(相册、位置、摄像头、剪贴板等),与公众平台后台的隐私指引逐条对齐,新增功能先改表再写码。
- 启动后按需查询:不要在小程序冷启动第一屏统一查询并弹窗,而是在每个敏感功能的入口前调用 getPrivacySetting,把结果交给统一的弹窗组件处理。
- 按需弹窗:needAuthorization 才弹,弹窗文案写清「用这个功能需要同意什么」,拒绝路径可浏览非敏感页面,处理细节参考 微信小程序隐私协议授权流程。
- 缓存同意态:用户同意后本地记录版本号与时间,下次进入直接放行;缓存要带协议版本字段,指引更新后旧缓存作废重查。
- 版本变更复查:每次发版前跑一遍隐私回归用例:清缓存首用、同意后复用、拒绝后访问三条路径都要真机走一遍。
四、自检表:弹窗策略逐项核对
结论句:提审前拿这张表过一遍,三项全达标才提交,能挡掉绝大多数隐私类驳回。
| 检查项 | 达标口径 | 常见错误 |
|---|---|---|
| 查询时机 | 敏感功能入口前查询,不冷启动全量弹 | 首页统一弹窗、用户未触发就打扰 |
| 拒绝路径 | 拒绝后仍可浏览非敏感页,功能置灰有说明 | 拒绝即整站不可用,无任何解释 |
| 指引一致性 | 代码接口表与后台隐私指引逐条一致 | 指引写了相册,代码里还在用拍照代替 |
| 同意态缓存 | 缓存带协议版本号,指引更新即作废 | 缓存永不过期,指引更新后不再弹 |
这张表同时给两边用:开发逐条自查代码逻辑,商家验收时只验证「换一台手机清缓存后,首次用相册会弹、第二次不弹」这两条现象。
五、避坑清单
这三条坑都出在「状态管理」上:查了不用、缓存失效、两边口径漂移。
- 别只查一次就完事:协议版本更新后 must 重新查询,旧同意态不能永久有效,否则审核会以「指引与实际不一致」驳回。
- 别把弹窗当成统一拦截器:在所有请求前统一加弹窗逻辑看似省事,实际会把非敏感接口也拦下来,报错难懂、用户反感。
- 别忽略真机验证:开发者工具里隐私接口行为与真机存在差异,回归用例必须真机跑,弱网下重试路径也要覆盖。
六、常见问题 FAQ
这个和 GEO 地理位置配置有关系吗?
有关系但不是一回事。getPrivacySetting 管「用户授权流程」,而小程序 GEO 地理位置配置指后台的门店地址、经纬度、服务类目,决定小程序在附近检索里的展示。用位置接口前既要查隐私设置,也要确认 GEO 配置本身正确,两件事分别验收。
用户拒绝后还能用小程序吗?
能。拒绝只影响本次敏感能力,浏览、下单等非敏感路径必须正常可用;建议在设置页留一个「重新授权」入口,用户随时可改主意。
同意态缓存多久合适?
以协议版本为准而不是固定天数:指引没变就长期有效,指引一更新立刻作废重查,这样既不打扰老用户,也不会漏掉新版告知义务。
审核最常挑哪些隐私问题?
指引与实际接口不一致、拒绝路径不可用、弹窗时机过早这三类占大头。对照 微信小程序审核被拒常见原因 先自查再提审。
多端(小程序与 App)要怎么对齐?
授权口径对齐、文案不必逐字一致:两端共用同一份需授权接口表与协议文本,弹窗样式按各自平台规范实现,回归用例两端各跑一遍。