收藏
评论

小程序微信登录能力调整官方

为了优化用户的使用体验,平台将回收“使用 wx.getUserInfo 接口直接弹出授权框”以及“使用 wx.authorize 接口直接申请提前授权用户信息”的能力,开发者需要使用组件方式唤起登录授权弹窗。

2018年10月10日后发布新版本的小程序,将无法在线上版本中使用接口直接弹出授权框。开发者可结合平台设计建议,提前做好兼容,合理使用微信登录能力。


  1. 能力调整背景

  2. 怎么合理使用微信登录能力

  3. 小程序登录流程设计建议

01

能力调整背景


推出微信登录能力的初衷是希望:当用户使用小程序时,可以便捷地使用微信身份登录小程序。但在实际使用场景中,我们发现:很多开发者在打开小程序时直接弹出授权框,如果用户点击拒绝授权,无法使用小程序

在用户无法获知当前小程序服务内容的情况下,很多用户就会选择拒绝授权并离开当前小程序。所以“一进入小程序就要求用户授权”的做法打断了用户正常使用小程序的流程,同时也不利于小程序获取新用户。


所以平台调整登录接口,回收“使用 wx.getUserInfo 接口直接弹出授权框”以及“使用 wx.authorize 接口直接申请提前授权用户信息的能力,并鼓励开发者参照以下指引合理改造小程序内的登录流程。



02

怎么合理使用微信登录能力


平台分别提供多种方式实现微信登录:

1. 调用wx.login接口,静默获取openid

适用场景:无需使用用户头像、昵称、Unionid信息

2. 使用 open-data (小程序)或者开放数据域(小游戏)的方式展示用户信息(无需用户授权)

适用场景:需要在前端“展示”用户头像、昵称信息,但不需要获取Unionid

3.使用button(小程序)或UserInfoButton(小游戏)组件,用户点击后弹窗请求用户授权

适用场景:需要获取用户头像、昵称、Unionid等基本信息


开发建议

第一步:获取openID

当用户访问小程序时,先通过wx.login,获取用户openID 。这时无需弹框授权,开发者拿到 openID 可以建立自身的帐号 ID。

第二步: 使用open-data方式或开放数据域方式展示头像昵称

如需要在前端展示用户头像、昵称信息, 使用open-data 方式或者开放数据域的方式展示用户信息

第三步:根据实际使用场景,使用组件,引导用户登录

在关键操作中,如必须获取用户头像、昵称、UnionID信息,可根据第一步获取的openID判断是新用户还是旧用户:

    如果是旧用户,可以直接登录,也可定期使用wx.getUserInfo更新用户的信息;

    如果是新用户,使用button(小程序)或UserInfoButton(小游戏)组件,在用户点击后弹窗请求获取用户基本信息。



03

小程序登录流程设计建议


a. 在必须用到登录信息的环节引导用户登录

在用户必须登录时才引导用户登录(如:购买前需要获取会员信息,用于同步积分数据),而不是用户一进入小程序就弹窗要求用户授权。如只需要在前端展示用户头像、昵称,无需要求用户授权,可直接展示。



b.清晰、准确地引导用户登录

在登录页面中,清晰、准确地告知用户当前操作是登录,说明获取登录信息的目的(如:用于同步会员积分数据等)



c. 不强制用户必须登录后才能使用小程序服务

提供游客模式,不强制用户必须登录后才能进入小程序。如要求必须授权头像昵称等信息才能继续使用小程序,会导致某些用户放弃使用该小程序。






最后一次编辑于  2018-12-29
收藏

106 个评论

  • 孙洪伟
    孙洪伟
    2018-10-09

    也来晒晒奇葩的被拒的理由


    你的小程序"银行招聘考试"代码发布审核未通过,原因如下:
    1:小程序内容不符合规则:
    (1):小程序页面内容涉及:课程虚拟产品且含价格展示,ios系统暂不支持,请移除:课程虚拟产品及价格展示板块内容后,再提交代码审核。
    如有疑问,请查看详情与反馈。

    腾讯和ios是一家亲了,哈哈哈哈,大爷的



    你的小程序"银行招聘考试"代码发布审核未通过,原因如下:
    1:小程序内容不符合规则:
    (1):小程序页面内容涉及提供虚拟商品服务,且页面提示:限时免费,请下架【限时免费】板块内容。
    如有疑问,请查看
    详情与反馈。在线教育卖个课程,限制那么多,
    你的小程序"银行招聘考试"代码发布审核未通过,原因如下:
    1:账号信息不符合规范:
    (1):你好,贵方小程序名称含关键词“银行”,涉及资质服务,请补充银行类目或删除名称中命中的关键词“银行”
    2:小程序测试账号不符合规则:
    (1):你好,经核实,小程序只有绑定手机号一种登录方式,目前审核人员的测试机无法完成该操作,建议增加一种登录方式(如:账号、密码),并提供审核人员一个授权的测试账号,填写在 版本描述处提交,以便审核人员及时体验到小程序功能。
    如有疑问,请查看详情与反馈。


    你的小程序"银行招聘考试"代码发布审核未通过,原因如下:
    1:账号信息不符合规范:
    (1):你好,你的小程序名称含关键词“银行”,涉及资质服务,请补充银行类目或删除名称中命中的关键词“银行”
    如有疑问,请查看详情与反馈。
    我们是在线教育培训机构,让我们补充银行资质,同样理由被拒了不下30次,反馈问题,投诉都找不到入口,关键是我们在此之前都已经发不了不下20个版本,不知道那冒出个神仙,就不给通过了


      2018-10-09
      赞同 3
      回复
    • Sseakom
      Sseakom
      2018-09-29

      他们好像忽略了,这个弹框可以是开发者自定义的,既然微信不让自动弹这个授权框,开发者可以写个页面强制要用户点击授权,而且还多点了一次,何必呢!!!

      虽然这次修改的出发点是好的,但是目的没达到,还连累了一大批开发者

      2018-09-29
      赞同 3
      回复
    • 
      2018-09-12

      改来改去,又改回去了

      2018-09-12
      赞同 3
      回复
    • 愿为西南风🎩
      愿为西南风🎩
      2018-10-11

      他改变了小程序,他有改了回去

      2018-10-11
      赞同 2
      回复
    • 肖升
      肖升
      2018-09-18

      是直接禁掉了 还是跟现在的测试环境一样 会走 fail 回调

      2018-09-18
      赞同 2
      回复 2
      • Asura、
        Asura、
        2018-09-18

        这位同学说的很在理!

        2018-09-18
        回复
      • 浪
        2018-10-09

        同问

        2018-10-09
        回复
    • K
      K
      2018-09-13
      在用户无法获知当前小程序服务内容的情况下,很多用户就会选择拒绝授权并离开当前小程序。所以“一进入小程序就要求用户授权”的做法打断了用户正常使用小程序的流程,同时也不利于小程序获取新用户。

      你做调查了?还是你一拍脑子想出来的?“不授权就不能使用”有什么问题吗?你把接口改了,我们产品的业务流程就会改变了?不还是“不授权就不能使用”?

      2018-09-13
      赞同 2
      回复
    • Neil Pan
      Neil Pan
      2018-10-31

      你们自己内部的wafer2 产品库都调用的是 wx.getUserInfo(),  你让我们开发者怎么调整? 真的是觉得很坑啊啊啊啊



      2018-10-31
      赞同 1
      回复 1
      • 刘骏
        刘骏
        2019-02-15

        别闹,只许放火,不许点灯!

        2019-02-15
        回复
    • Virgo 💄
      Virgo 💄
      2018-09-30

      开发者一枚,审核一直被拒原因如下:

      在开发者被拒8次以后,有点不开心,原因列了出来

      小程序"添添"代码发布审核结果17:12:50

      你的小程序"添添"代码发布审核未通过,原因如下:
      1:小程序可用性和完整性不符合规则:
      (1):小程序进入点击‘进入成长空间’无法跳转,请优化后再提交审核(测试环境wifi, IOS 11.4,微信6.7.2,IPHONE 6)
      如有疑问,请查看详情与反馈。

       

      小程序"添添"代码发布审核结果10:19:57

      你的小程序"添添"代码发布审核未通过,原因如下:
      1:小程序可用性和完整性不符合规则:
      (1):小程序进入点击‘进入成长空间’无法跳转,请优化后再提交审核(测试环境wifi,Andriod 8.0.0,微信6.7.2,Honor 8 Lite)
      如有疑问,请查看详情与反馈。

       

      小程序"添添"代码发布审核结果2018-09-28

      你的小程序"添添"代码发布审核未通过,原因如下:
      1:小程序内容不符合规则:
      (1):小程序进入点击‘进入成长空间’无法跳转,请优化后再提交审核(测试环境wifi, Android 7.1.1,微信6.7.2,MI MAX2)
      如有疑问,请查看详情与反馈。

       

      小程序"添添"代码发布审核结果2018-09-28

      你的小程序"添添"代码发布审核未通过,原因如下:
      1:小程序可用性和完整性不符合规则:
      (1):小程序进入点击‘进入成长空间’无法跳转,请优化后再提交审核。(测试环境wifi, IOS 11.4,微信6.7.2,IPHONE 6)
      如有疑问,请查看详情与反馈。

       

      小程序"添添"代码发布审核结果2018-09-28

      你的小程序"添添"代码发布审核未通过,原因如下:
      1:小程序可用性和完整性不符合规则:
      (1):点击‘进入成长空间’无跳转,请优化后再提交审核(测试环境程序wifi,Andriod 7.1.2,微信6.6.6,红米5 Plus)
      如有疑问,请查看详情与反馈。

       

      小程序"添添"代码发布审核结果2018-09-25

      你的小程序"添添"代码发布审核未通过,原因如下:
      1:小程序内容不符合规则:
      (1):点击‘进入成长空间’无跳转,请优化后再提交审核(测试环境wifi, Android 7.1.1,微信6.7.2,MI MAX2)
      如有疑问,请查看详情与反馈。

       

      小程序"添添"代码发布审核结果2018-09-18

      你的小程序"添添"代码发布审核未通过,原因如下:
      1:小程序可用性和完整性不符合规则:
      (1):点击‘进入成长空间’无跳转,请优化后再提交审核(测试环境wifi,Android 6.0.1,微信6.6.7,OPPO R9s)
      如有疑问,请查看详情与反馈。

      小程序"添添"代码发布审核结果2018-09-11

      你的小程序"添添"代码发布审核未通过,原因如下:
      1:小程序可用性和完整性不符合规则:
      (1):点击‘进入成长空间’无跳转,请优化后再提交审核(测试环境wifi,IOS11.4,微信6.6.7,iPhone 5S )
      如有疑问,请查看详情与反馈。


          

          代码片段如下:

                  按照要求我们采用点击组件的方式获取用户信息,同样的代码我们反复测试,反复删数据库,没有找到问题的原因,可否提供具体原因,万分感谢,解救一下我这个开发者妹子

      <button wx:if="{{canIUse}}" open-type="getUserInfo" bindgetuserinfo="into_btn" class='btn'>进入成长空间</button>

      <view wx:else>请升级微信版本</view>

      getParaFromWx: function () {

              var that = this

              wx.login({

                  success: function (res) {

                          wx.setStorageSync('code', res.code)

                          wx.getUserInfo({

                              success: function (res) {

                                      wx.setStorageSync('iv', res.iv)

                                      wx.setStorageSync('encryptedData', res.encryptedData)

                                      let iv = wx.getStorageSync('iv')

                                      let encryptedData = wx.getStorageSync('encryptedData')

                                      let code = wx.getStorageSync('code')

                                          that.execLogin(code, iv, encryptedData)

                                      }

                          })

                  }

              })

      }


      2018-09-30
      赞同 1
      回复
    • 云乐
      云乐
      2018-09-20

      是不是没有需求了,强制生成需求,丰富KPI? 别折腾我们了

      2018-09-20
      赞同 1
      回复
    • 张洪建
      张洪建
      2018-09-19

      unionid是有商业目的的,不注册开放平台账户,不缴纳每年300元钱,休想获得unionid。

      2018-09-19
      赞同 1
      回复 2
      • 劲松_楚鸟
        劲松_楚鸟
        2018-09-21

        对,就是想多捞点钱。可怜我一个公众号,关联一个小程序,同一个后台,是不是还要搞几个用户表,哎

        2018-09-21
        回复
      • 大大大大大大怪兽
        大大大大大大怪兽
        2018-10-11

        阿里的开放平台就不要钱啊,为什么微信的要钱

        2018-10-11
        回复

    正在加载...

    登录 后发表内容