项目链接:https://github.com/94xy/miniprogram-privacy
效果预览:
使用方法:
1、复制项目 component
文件夹中的 privacy
文件夹到小程序项目中的组件目录;
2 、在 page.json 中引入组件
{
"usingComponents": {
"Privacy": "/component/privacy/privacy"
}
}
3 、在 page.wxml 中使用组件,需要授权显示弹窗,不需要不显示
<Privacy />
4 、可以在所有使用了隐私接口的页面都加上该组件,授权一次之后使用所有隐私接口不再需要授权
跳过阅读:
可以不阅读就点击“同意”按钮
<Privacy skipRead="{{true}}" />
流程:
- 页面显示时使用 wx.getPrivacySetting 接口查询是否需要授权,需要授权则显示组件;
- 用户点击“拒绝”直接退出小程序,用户点击“同意”关闭弹窗并同步给微信,之后可以正常使用所有隐私接口。
注意事项:
- 2023 年 9 月 15 号之前,默认不会启用隐私相关功能,所以检测不到需要弹窗的情况,可以在 app.json 中配置 "__usePrivacyCheck__": true 之后,接口才可以检测到是否需要弹窗。个人实际情况:我在开发者工具中配置了 "__usePrivacyCheck__": true ,needAuthorization 无论如何返回的都是 false,但在真机模拟的情况下可以返回 true
- 自动打开隐私保护指引界面需在「小程序管理后台」配置《小程序用户隐私保护指引》,官方用户隐私保护指引填写说明。
取消授权:
- 微信中「微信下拉-最近-最近使用的小程序」中删除小程序可取消授权。
- 开发者工具中「清除模拟器缓存-清除授权数据」可取消授权。
楼主,有个问题,线上发布后必须要手动删除小程序缓存重新进才能检测是否授权隐私,不可能每个用户都知道这种操作吧?有没有解决方法?
您好,我有一个疑虑,望解答。
刚进页面的时候,弹窗同意后,在右上角点击设置,把位置信息改成不允许,那么下次进首页或者进入下一个有用定位的api页面时,这个框还弹出吗?
你好,可以在一个页面(比如首页)弹出隐私授权弹窗,用户同意授权后,小程序中所有用到隐私相关的地方都可以正常使用吗?还是说必须在每个涉及隐私相关的页面都要弹这个弹窗?
感觉大佬的组件。只要是这里涉及的接口都要加吗?https://developers.weixin.qq.com/miniprogram/dev/framework/user-privacy/miniprogram-intro.html
点击了拒绝按钮 这样体验会不会不太好 审核不通过 如何在调起弹框呢 楼主
这个库版本,我用caniuse返回是false.,直接干脆 !! 判断api能不能用,省去复制版本对比代码。不知道你那边判断版本的代码能不能这样去写
调用这个组件,小程序里面已经同意了隐私协议,接口调用还是不成功,提示
{errMsg: "getUserProfile:fail api scope is not declared in the privacy agreement", errno: 112}
有没有大佬 教一下怎么弄啊 我没明白怎么搞
我看相关api在2.32.3版本库才开始支持,那么一些老手机无法升级微信,就没办法弹出隐私保护弹框,这怎么解决的?