收藏
回答

自定义隐私协议弹窗使用了官方文档的方案,流程也能进行,基础库更新后发现报错?

使用最新版的资源库3.1.2,发现报错

自定义的隐私协议弹窗使用的是官方文档中的方法

<button id="agree-btn" open-type="agreePrivacyAuthorization" bindagreeprivacyauthorization="handleAgree" class="argee ">同意并继续</button>


 wx.getPrivacySetting({
          successres => {
            console.log("是否需要授权:", res.needAuthorization, "隐私协议的名称为:", res.privacyContractName)
            if (res.needAuthorization) {
              this.popUp()
            } else {
              this.triggerEvent("agree")
            }
          },
          fail() => {},
          complete() => {},
        })


在3.1.1及之前的资源库及前几天的线上环境中都不存在报错,在3.1.2及如今的线上环境,都存在报错提示

在明明写了隐私协议弹窗的情况下依然弹出了官方的授权弹窗

不知道是什么原因。


回答关注问题邀请回答
收藏

8 个回答

  • 社区技术运营专员--阳光
    社区技术运营专员--阳光
    2023-10-10

     检查下是否在弹起自定义隐私弹窗之前调用了隐私接口,如果是的话,会出现官方隐私弹窗

    2023-10-10
    有用
    回复 2
    • Lovc
      Lovc
      2023-10-10
      那这个报错的原因呢?
      2023-10-10
      回复
    • Lovc
      Lovc
      2023-10-10
      检查了一遍代码,即使注释掉隐私接口,还是会有弹出啊?
      2023-10-10
      回复
  • 洪晓东
    洪晓东
    2023-10-11

    onNeedPrivacyAuthorization 有用这个就能使用自己的,没有就是官方的

    2023-10-11
    有用 1
    回复
  • « 子不语
    « 子不语
    2023-10-10

    页面是不是触发隐私接口了呀?

    2023-10-10
    有用 1
    回复 3
    • optimistic
      optimistic
      2023-10-10
      首先,开发者响应是什么意思都没写清楚,官方文档真的是小学毕业的来写的么?写个模棱两可的表达
      2023-10-10
      回复
    • « 子不语
      « 子不语
      2023-10-10回复optimistic
      是了,各种猜,从结果倒推。
      2023-10-10
      回复
    • Lovc
      Lovc
      2023-10-11
      确实是,在app.js中有一个引入百度分析的操作,这里应该是触发了隐私协议接口,将代码往后放了放就不弹窗了
      2023-10-11
      回复
  • 录之青争
    录之青争
    2023-10-13

    我们的小程序中出现了同样的问题,目前已经解决

    原因:官方使用wx.onNeedPrivacyAuthorization进行用户隐私的监听,但是在我们的小程序中,仅仅使用wx.getPrivacySetting来判断是否用户有授权动作,在全局判断的时候,我们因为引入了第三方sdk,而这个中使用了被废弃的wx.getUserInfo,导致被微信全局监听到,弹出官方弹窗。现解决方案:在项目启动时,添加监听逻辑,替代微信官方的监听

    app.js——onLaunch方法中添加如下逻辑即可

    wx.onNeedPrivacyAuthorization &&

          wx.onNeedPrivacyAuthorization((resolve, eventInfo) => {

            console.log('触发本次事件的接口是:' + eventInfo.referrer)

            // 需要用户同意隐私授权时

            // 弹出开发者自定义的隐私授权弹窗

            this.resolvePrivacyAuthorization = resolve

          })

    2023-10-13
    有用
    回复
  • 绿了樱桃@红了芭蕉
    绿了樱桃@红了芭蕉
    2023-10-11

    我这也是这种情况,后来改成先直接调用onNeedPrivacyAuthorization就弹窗自定义的,但是晚上的时候又出现了调用官方的,不知道是不是在做测试。过了一会儿就有好了。还有个问题就是,文档上说的同意后会自动继续执行,本地测试没有成功过

    2023-10-11
    有用
    回复 1
    • Lovc
      Lovc
      2023-10-11
      我这边是有一个百度分析的引入在开发者自定义弹窗确认之前触发了隐私弹窗,把它的引入往后放了放就不弹了
      2023-10-11
      回复
  • 搁、浅
    搁、浅
    2023-10-10

    通过判断触发 wx.onNeedPrivacyAuthorization 事件

    2023-10-10
    有用
    回复
  • Telipu
    Telipu
    2023-10-09

    遇到同样的问题 等解决

    2023-10-09
    有用
    回复 1
    • 录之青争
      录之青争
      2023-10-13
      已经解决,看下下面的方案
      2023-10-13
      回复
  • Lewis
    Lewis
    2023-10-09

    -。-! 新bug吧

    2023-10-09
    有用
    回复 3
    • Telipu
      Telipu
      2023-10-09
      在明明写了隐私协议弹窗的情况下依然弹出了官方的授权弹窗,这个不知道怎么除去官方的隐私弹框,我们是在点击同意后需要有逻辑操作的,官方这个拿不到点击同意的事件
      2023-10-09
      回复
    • Lovc
      Lovc
      2023-10-11回复Telipu
      我这边是有一个百度分析的引入在开发者自定义弹窗确认之前触发了隐私弹窗,把它的引入往后放了放就不弹了
      2023-10-11
      回复
    • Lewis
      Lewis
      2023-10-11回复Telipu
      用监听做
      2023-10-11
      回复
登录 后发表内容