收藏
回答

目前UnionID开放机制,给开发者和用户都带来了不不要的麻烦

用户首先第一次通过小程序打开,此时因为该用户没有关注同一主体的其他公众号,或者使用过app,login的时候获取不到unionId,官方的解释是:

同一个微信开放平台下的相同主体的App、公众号、小程序,如果用户已经关注公众号,或者曾经登录过App或公众号,则用户打开小程序时,开发者可以直接通过wx.login获取到该用户UnionID,无须用户再次授权。


如果直接开放了unionid,就会出现这种情况:当你作为一个用户进入一个小程序,这个小程序并没要求你授权就直接把你的头像昵称显示出来(它之前把unionId对应的头像昵称都存了下来),但是这个小程序主体(open平台主体和公众平台主体并不相同)相关的任何一个应用你从来没用过,你会不会觉得很奇怪并且很不舒服,觉得自己在微信内的用户信息没有丝毫的保障?


第一:授权问题

目前规则是,同一个开放平台,相同主体,公众号A和小程序A属于一个主体,用户第一次打开小程序A的时候,login拿不到unionID,试想因为是第一次,开放unionID也暴露不了任何隐私,但是对于开发来说,后续这个用户关注公众号,因为第一次unionID,很容易就做好用户统一,且无需用户授权。这体验才是最好啊。

第二:卡券用户唯一问题

因为现在商户基本都是小程序和公众号,也都是绑定在一个开放平台,在卡券领取,分享,转赠的时候,都只有相对微信公众号的openID。一个场景,用户A分享一张券给用户B,用户B领取,事件中只能拿到openId,如果用户B只用了商户的小程序,没有关注公众号,此时只能创建新用户C。当用户B再次打开商户的小程序,却看不到这张券。其实用户B和C应该是同一个用户。


最后一次编辑于  2018-01-26  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

6 个回答

  • 刘红磊(报多多)
    刘红磊(报多多)
    2018-01-26

    只要开放平台,微信公账号,小程序同一主体,那么unionID开放,对保护隐私,用户体验最佳权衡。卡券unionID也跟上。

    2018-01-26
    赞同
    回复
  • 李少年
    李少年
    2018-01-26

    什么叫“同一主体”,我现在获取不到unionid

    https://developers.weixin.qq.com/blogdetail?action=get_post_info&docid=0006aa77598800c8ac3637b3e56800&token=1404892194&lang=zh_CN

    2018-01-26
    赞同
    回复
  • jacky
    jacky
    2018-01-26

    同一主体,应该指的是同一个开放平台认证主体吧

    2018-01-26
    赞同
    回复
  • 祺爸💎
    祺爸💎
    2018-01-29

    直接说结论,微信的这一整套openid体系就是个大坑

    2018-01-29
    赞同
    回复
  • A+阿赞
    A+阿赞
    2018-01-30

    跟上 跟上 兄弟们, 不要落队了

    2018-01-30
    赞同
    回复
  • 陈立
    陈立
    2018-01-31

    拿不到

    2018-01-31
    赞同
    回复