前言:微信公众平台在7月26号发文,更新了同一公众平台下的公众号、APP和小程序可以共用UnionID。详细是这样说的:
“ 为保证良好的用户体验,方便开发者将小程序、公众号和App之间的用户信息进行互通,小程序获取用户信息和UnionID的方式将进行升级。”
看到这篇发文之后,很多小程序开发者都兴奋了一把,我也小激动了一下,先看一下大家的评论:
可以说是好评如潮呀!这个新功能好处在于,用户在一个公众平台账号体系下,只要被其中一个公众号、APP或者小程序授权了,在其他应用里面就不需要再授权了,直接可以获取到相同的UnionID。于是我家小程序也不能落伍呀,果断要把这么好的功能加上~
(图片来源于网络)
经过一翻折腾后,发现有问题呀,有些用户可以不用再弹出授权框,有些用户始终都会弹出授权框。于是再次查看了官方文档。
以下是官方UnionID机智说明:
(地址https://mp.weixin.qq.com/debug/wxadoc/dev/api/uinionID.html)
同一个微信开放平台下的相同主体的App、公众号、小程序,如果用户已经关注公众号,或者曾经登录过App或公众号,则用户打开小程序时,开发者可以直接通过wx.login获取到该用户UnionID,无须用户再次授权。
注意到这句话:曾经登录过App或公众号,则用户打开小程序时...
也就是说,必须是先登录过APP或者公众号后,才能在小程序中去获取到UnionID,否则无法获取到值。这就和我们亲自测试的效果是一样了,部分手机不用再次弹出授权框,是因为已经关注了“微友助手”公众号,始终弹出授权框的用户是未关注公众号。
之前一直以为同一微信开放平台下的小程序都不用多次授权,看来是想错了,没明白微信为什么不把小程序之前授权打通,只是把公众号这一步打通,难道小程序永远只能以公众号为载体?期待后续微信小程序的改进~
这里有一篇微信官方给出的文章:获取用户信息方案介绍
欢迎关注我:知晓程序员