评论

一个组件解决隐私授权:小程序用户隐私保护授权弹窗组件

使用组件实现弹窗提示用户阅读隐私保护指引的功能。

项目链接: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}}" />


流程:

  1. 页面显示时使用 wx.getPrivacySetting 接口查询是否需要授权,需要授权则显示组件;
  2. 用户点击“拒绝”直接退出小程序,用户点击“同意”关闭弹窗并同步给微信,之后可以正常使用所有隐私接口。


注意事项:

  1. 2023 年 9 月 15 号之前,默认不会启用隐私相关功能,所以检测不到需要弹窗的情况,可以在 app.json 中配置 "__usePrivacyCheck__": true 之后,接口才可以检测到是否需要弹窗。个人实际情况:我在开发者工具中配置了 "__usePrivacyCheck__": true ,needAuthorization 无论如何返回的都是 false,但在真机模拟的情况下可以返回 true
  2. 自动打开隐私保护指引界面需在「小程序管理后台」配置《小程序用户隐私保护指引》,官方用户隐私保护指引填写说明


取消授权:

  • 微信中「微信下拉-最近-最近使用的小程序」中删除小程序可取消授权。
  • 开发者工具中「清除模拟器缓存-清除授权数据」可取消授权。


最后一次编辑于  2023-08-28  
点赞 25
收藏
评论

76 个评论

  • 扬
    2023-08-29

    还未使用先谢谢大佬,明天使用看看

    2023-08-29
    赞同
    回复
  • 神经蛙
    神经蛙
    2023-08-29

    大佬,像这些判断是否需要授权或者拒绝同意这些事件写在组件里面好些还是写在需要使用的页面上好些

    2023-08-29
    赞同
    回复 4
    • momo
      momo
      2023-08-29
      写在组件里面比较简单粗暴,写在页面上调用隐私接口时判断体验应该更好
      2023-08-29
      回复
    • 神经蛙
      神经蛙
      2023-08-29回复momo
      好的,我自己试了一下写在组件里面我用wx.onNeedPrivacyAuthorization这个事件在调用需要隐私接口的时候他会自动触发,我看这个隐私协议只要同意了一次后面在隐私协议中写的接口好像都都可以使用不需要再一次去弹出隐私弹窗,这个正常吗,不是每个没授权的接口都要弹出隐私弹窗嘛,我只同意了了一次隐私弹窗,其余的隐私接口都有法使用了
      2023-08-29
      回复
    • momo
      momo
      2023-08-29回复神经蛙
      只需要同意一次,只要用户没有删除小程序,所有的隐私接口都不需要再次授权了
      2023-08-29
      1
      回复
    • 神经蛙
      神经蛙
      2023-08-29回复momo
      好的明白了
      2023-08-29
      回复
  • Atlas
    Atlas
    2023-08-28

    谢谢大佬

    2023-08-28
    赞同
    回复 1
    • momo
      momo
      2023-08-29
      发了一个新版本使用更简单,可以看一下
      2023-08-29
      回复
  • 古城丶
    古城丶
    2023-08-28

    可以在所有使用了隐私接口的页面都加上该组件,授权一次之后使用所有隐私接口不再需要授权

    这个是指同意过一次之后再去使用其他隐私接口比如获取地址等就不需要二次授权了吗

    

    2023-08-28
    赞同
    回复 1
    • momo
      momo
      2023-08-28
      是的
      2023-08-28
      1
      回复
  • 世界那么大
    世界那么大
    2023-08-28

    感谢大佬,非常好用

    2023-08-28
    赞同
    回复 1
    • momo
      momo
      2023-08-28
      感谢回复,有用就好
      2023-08-28
      回复
  • 再见,电脑崽
    再见,电脑崽
    2023-08-28

    同意前还必须阅读协议内容?

    2023-08-28
    赞同
    回复 2
    • momo
      momo
      2023-08-28
      正常情况下不得默认同意,需要阅读,不过你也可以直接把 isRead 改为 true
      2023-08-28
      回复
    • momo
      momo
      2023-08-29
      发了一个新版本仅引用组件即可,不需要阅读了
      2023-08-29
      回复

正在加载...

登录 后发表内容