很多企业把小程序上线理解成“备案完成、代码能打开”就结束了。实际运营中,用户信息授权链路经常在体验或审核阶段暴露问题:登录按钮能点,但手机号接口没有响应;位置信息调不出来;隐私协议能打开,却没有完成用户同意同步。微信小程序隐私协议开发指南当前要求,涉及处理用户个人信息的小程序,需要以明显方式提示用户阅读隐私政策,并在调用微信提供的隐私接口前同步用户是否已同意相关规则。

这不是备案的替代项。备案解决主体和业务信息登记,隐私授权解决用户在使用过程中是否知情、是否同意。两项工作都完成后,小程序的上线链路才算完整。

一、这次要关注什么:隐私接口调用前必须先有用户同意

根据微信小程序隐私协议开发指南,隐私相关功能启用后,开发者需要主动查询用户是否还有待同意的隐私政策信息。用户未完成同意时,开发者应展示隐私说明,并提供明确的同意操作,然后才能调用已声明的隐私接口。

官方指南给出了几个关键能力:

能力 用途
wx.getPrivacySetting 查询用户是否有待同意的隐私政策信息,以及隐私指引名称
wx.openPrivacyContract 打开小程序管理后台配置的隐私保护指引
onNeedPrivacyAuthorization 在需要授权时进入开发者自定义的隐私确认流程
button open-type="agreePrivacyAuthorization" 让用户通过按钮完成同意操作

对企业来说,这意味着隐私提示不能只放一个“查看协议”的链接。链接只能让用户阅读,不能代替用户同意。真正需要检查的是:协议是否在小程序后台配置,页面是否在合适时机弹出,用户点击同意后接口是否按顺序调用,拒绝后页面是否能正常提示。

二、企业小程序常见的四个问题

1. 只完成备案,没有配置隐私保护指引

备案信息与隐私指引是两套配置。主体信息、服务内容通过备案,不代表小程序后台已经有完整的隐私政策。小程序一旦调用用户信息、位置、相册、手机号等能力,就需要先核对隐私指引是否覆盖实际使用的信息类型。

2. 页面先调接口,后弹隐私提示

有些页面在加载时就立即请求用户信息,等接口失败后才显示协议。用户看到的是“授权失败”或“功能不可用”,却不知道原因。正确顺序是先判断当前是否需要同意,再显示隐私说明和同意按钮,用户完成后再进入业务接口。

3. 只做了“同意”按钮,没有处理拒绝

用户拒绝隐私授权属于正常选择。页面应提供继续浏览基础内容、稍后再试或查看隐私说明的路径,而不是卡在空白页。开发者还要测试用户关闭弹窗、返回上级页面、重新进入小程序等状态。

4. 业务接口没有按隐私能力清单核对

隐私指引不是写一段通用文本就结束。需要把登录、手机号、位置、相册、地址、昵称头像等实际调用项列出来,逐项确认是否在指引中说明、是否在用户同意后再调用、是否会触发平台隐私授权流程。

三、可以照着做的上线检查

做法一:列一张隐私接口清单。把小程序代码和后台配置里涉及用户信息的接口全部列出,写清业务用途、触发页面、触发时机和拒绝后的替代方案。没有用途说明的接口应删除,不要为了以后可能用到而提前申请。

做法二:在首页或登录页统一处理隐私状态。页面加载时调用隐私状态查询,需要同意时展示清楚说明,用户点击“同意”按钮后再继续。不要在页面初始化阶段并行调用多个隐私接口,否则会把授权时序搞乱。

做法三:把隐私协议放在可随时打开的位置。除了授权弹窗,还应在关于页面、设置页或登录页提供查看入口。用户同意后仍可能需要重新阅读,入口要稳定,不要只依赖一次性弹窗。

做法四:测试四种状态。分别测试用户未同意、点击同意、拒绝授权、同意后再次进入。每种状态都要确认页面提示、接口调用和业务跳转符合预期,尤其要检查拒绝后是否出现闪退或卡死。

做法五:记录配置版本和上线时间。隐私指引更新、接口新增、页面改版时,留下配置截图或版本记录。出现审核问题或用户投诉时,可以快速确认当时使用的是哪一版说明和哪一组接口。

四、上线前的验收标准

  • 小程序管理后台已经配置与业务范围一致的隐私保护指引。
  • 调用隐私接口前会查询授权状态,并能展示明确说明。
  • 用户通过指定按钮完成同意,接口只在同意后调用。
  • 拒绝授权后页面仍可正常浏览,不会出现空白或循环弹窗。
  • 隐私协议在授权弹窗之外仍有稳定入口。
  • 新增接口或调整业务时,隐私清单同步更新。

备案解决“能不能登记和上线”,隐私授权解决“用户是否知情并同意”。遂宁本地企业在交付小程序时,把这两条链路一起验收,才能减少上线后的返工。对企业来说,合规不是多加一个弹窗,而是让每一个用户信息接口都有明确用途、明确提示和可验证的处理顺序。