微信官方公告
❝
微信日常整活,光权限和用户信息这一块不知道调整了多少次了,小程序开发者苦腾讯久已!
上有政策,下有对策,这里讲解一下,新版本对线思路!
❞
啥都不说,先上社区评论为敬!
友好评论1
友好评论2
这里展示的是原生小程序,因为Uniapp官网文档还没更新,其实方法都差不多,只是写法不同!
前置问题
这里要叙述几个前置问题
1:什么时候弹出用户隐私协议的弹窗?
2:每次进小程序都弹出来吗?
这两个想明白问题就足够了!
弹窗时机
官方明确说明了,在用户授权之后,方可调用微信提供的隐私接口
隐私接口如下
隐私接口1
隐私接口2
隐私接口3
不难发现,里面还是有几个会提前用到,甚至会影响页面的,比如位置信息、手机号、剪贴板。
我肯定希望用户提早授权隐私协议,在调用接口的时候再弹接口的弹窗,不然用户会奔溃[doge]
那肯定不能在APP.js(uniapp是app.vue)里面操作,因为时间到了就自动跳到首页了,首页也不建议,原因上一段话
好戏来了,我们需要创建一个启动页!用了做判断,顺便可以做各种判断了,比如获取用户数据、小程序最新版本等,当然视情况而定!
每次进小程序都弹出来
这里我进行了本地缓存,若本地缓存中一授权直接进入,否则回去调用官方接口查询是否授权
因为用户可能会把小程序从小程序列表删除!
整活开始
新建启动页面
建立一个启动页面,如startUp目录
目录示意图
弹框组件
这里用的官方的root-portal
popup组件
写逻辑
官方其实给了四个新的API以及一个Button的新open-type
分析了一波,我这里只用button和其中两个API即可,主要是要调教用户,并且走APP隐私协议风格,不同意,不给用!
启动页面wxml
页面很简单,一个弹窗和启动页的文字
判断是否授权
判断授权也很简单
使用新API中的wx.getPrivacySetting看是否授权,没有就打开弹窗
同意协议
若同意协议,则进入程序,不同意退出小程序
注意事项
基础库版本号
需要大于>=2.33.0版本的基础库才能使用,否则不需要改文的逻辑
要手动开启校验
在2023年9月15日之前,需要在app.json里面手动加上下面的代码
若未设置,用户隐私协议永远返回false,即不需要授权,无法进行后续判断
"__usePrivacyCheck__": true
在2023年9月15日之后,不论 app.json 中是否有配置 __usePrivacyCheck__,隐私相关功能都会启用
官方截图
配置图
微信小程序后台配置协议
在微信小程序后台需要配置隐私协议,否则整个流程无法进行
路径为设置=>基本设置=>服务内容声明
隐私协议配置图
代码片段
公众号发送【小程序隐私协议】获取
如果感觉有帮助,麻烦3连(关注、赞、在看),谢谢! 后面会更新更多。
关注公众号了解更多
标签:重磅,协议,微信,程序,接口,隐私,弹窗 From: https://blog.51cto.com/u_16123566/7385196