- 用到:选中的照片(相册)
- 用到:位置信息
- 用到:手机号
微信小程序 · 账号与数据
隐私保护指引Privacy Guidelines
小程序用到位置、相册、头像昵称、剪贴板、手机号这类个人信息前,必须先在后台隐私保护指引里声明;没声明接口直接失败,声明后用户还要同意,拒绝时页面要能降级。
「上传头像」报 errno 112:补声明、等生效,再处理用户拒绝
一边是手机上的小程序页,一边是小程序管理后台的「用户隐私保护指引」。先在手机上点出报错,再去后台补声明,最后看用户同意和拒绝时页面各自怎样。
任务:「花店会员」小程序本地都好好的,一上体验版点「上传头像」就报错。把三个功能都调通,并且用户拒绝时页面不卡死。
小程序管理后台 → 设置 → 服务内容声明用户隐私保护指引
未提交第 1 步:在手机上点「上传头像」,看看还没声明时会发生什么。
知识点:面板上刚走过的顺序
只做命名,不再重复操作。
- 声明先于调用:位置、相册 / 拍照、头像昵称、剪贴板、手机号这类个人信息,要先在后台隐私指引里声明,否则接口直接失败。
- 看报错码找原因:errno 112 = 没声明这类信息;errno 104 = 用户没同意隐私协议。前者改后台,后者改页面。
- 生效有延迟:补完声明约 5 分钟后才生效,刚提交就测仍会报 112,别急着让 AI 改代码。
- 用户会看到你写的用途:首次用到时弹出隐私协议,用途写得清楚,用户才愿意点同意;以后新增收集类型,用户要重新同意一次。
- 拒绝要能降级:用户拒绝后页面要换个可用的走法(默认头像、手动选城市),不能卡死或反复报错。
- 按实际用途声明:页面没用到的类型别勾,用到的每一类都写清用在哪个功能。
什么时候要想到隐私指引
信号通常出现在「本地能用、上体验版就坏」的那一刻。
- 报错里出现 privacy agreement、errno 112:先去后台核对声明,不是代码写错了。
- 新功能要用位置、相册、拍照、剪贴板、手机号:开发前就把对应类型和用途加进隐私指引。
- 不涉及个人信息的功能(展示商品、静态页面)不需要为它声明。
怎么跟 AI 说、怎么验收
让 AI 把「用到了哪些个人信息」列出来,你去后台对着补。
- 让 AI 列清单:「列出这个小程序调用了哪些涉及个人信息的接口,各自用在哪个功能」。
- 要求降级:「用户拒绝隐私协议(errno 104)时,每个功能给一个不卡死的替代方案」。
- 验收:后台声明提交约 5 分钟后,用体验版在手机上把每个功能点一遍,分别试同意和拒绝。
正反例:修「上传头像报错」
同一个报错,只差在修哪里。
接口恢复,首次使用时用户看到清楚的用途;拒绝时页面换成默认头像。
后台没声明,接口永远调不通;错误被吞掉后按钮点了没反应,用户以为小程序坏了。
快速自测
你刚在后台补声明了「位置信息」并提交,马上用体验版点「附近门店」,还是报 errno 112。最合理的下一步是?
继续查证
术语的技术定义和行为以这些一手或权威资料为准。
下一步学
和本知识点经常一起出现的概念。