为了优化用户的使用体验,平台将回收“使用 wx.getUserInfo 接口直接弹出授权框”以及“使用 wx.authorize 接口直接申请提前授权用户信息”的能力,开发者需要使用组件方式唤起登录授权弹窗。
2018年10月10日后发布新版本的小程序,将无法在线上版本中使用接口直接弹出授权框。开发者可结合平台设计建议,提前做好兼容,合理使用微信登录能力。
能力调整背景
怎么合理使用微信登录能力
小程序登录流程设计建议
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. 不强制用户必须登录后才能使用小程序服务
提供游客模式,不强制用户必须登录后才能进入小程序。如要求必须授权头像昵称等信息才能继续使用小程序,会导致某些用户放弃使用该小程序。
也来晒晒奇葩的被拒的理由
你的小程序"银行招聘考试"代码发布审核未通过,原因如下:
1:小程序内容不符合规则:
(1):小程序页面内容涉及:课程虚拟产品且含价格展示,ios系统暂不支持,请移除:课程虚拟产品及价格展示板块内容后,再提交代码审核。
如有疑问,请查看详情与反馈。
腾讯和ios是一家亲了,哈哈哈哈,大爷的
你的小程序"银行招聘考试"代码发布审核未通过,原因如下:
1:小程序内容不符合规则:
(1):小程序页面内容涉及提供虚拟商品服务,且页面提示:限时免费,请下架【限时免费】板块内容。
如有疑问,请查看详情与反馈。在线教育卖个课程,限制那么多,
你的小程序"银行招聘考试"代码发布审核未通过,原因如下:
1:账号信息不符合规范:
(1):你好,贵方小程序名称含关键词“银行”,涉及资质服务,请补充银行类目或删除名称中命中的关键词“银行”
2:小程序测试账号不符合规则:
(1):你好,经核实,小程序只有绑定手机号一种登录方式,目前审核人员的测试机无法完成该操作,建议增加一种登录方式(如:账号、密码),并提供审核人员一个授权的测试账号,填写在 版本描述处提交,以便审核人员及时体验到小程序功能。
如有疑问,请查看详情与反馈。
你的小程序"银行招聘考试"代码发布审核未通过,原因如下:
1:账号信息不符合规范:
(1):你好,你的小程序名称含关键词“银行”,涉及资质服务,请补充银行类目或删除名称中命中的关键词“银行”
如有疑问,请查看详情与反馈。、我们是在线教育培训机构,让我们补充银行资质,同样理由被拒了不下30次,反馈问题,投诉都找不到入口,关键是我们在此之前都已经发不了不下20个版本,不知道那冒出个神仙,就不给通过了
他们好像忽略了,这个弹框可以是开发者自定义的,既然微信不让自动弹这个授权框,开发者可以写个页面强制要用户点击授权,而且还多点了一次,何必呢!!!
虽然这次修改的出发点是好的,但是目的没达到,还连累了一大批开发者
改来改去,又改回去了
他改变了小程序,他有改了回去
是直接禁掉了 还是跟现在的测试环境一样 会走 fail 回调
这位同学说的很在理!
同问
在用户无法获知当前小程序服务内容的情况下,很多用户就会选择拒绝授权并离开当前小程序。所以“一进入小程序就要求用户授权”的做法打断了用户正常使用小程序的流程,同时也不利于小程序获取新用户。
你做调查了?还是你一拍脑子想出来的?“不授权就不能使用”有什么问题吗?你把接口改了,我们产品的业务流程就会改变了?不还是“不授权就不能使用”?
你们自己内部的wafer2 产品库都调用的是 wx.getUserInfo(), 你让我们开发者怎么调整? 真的是觉得很坑啊啊啊啊
别闹,只许放火,不许点灯!
开发者一枚,审核一直被拒原因如下:
在开发者被拒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)
}
})
}
})
}
是不是没有需求了,强制生成需求,丰富KPI? 别折腾我们了
unionid是有商业目的的,不注册开放平台账户,不缴纳每年300元钱,休想获得unionid。
对,就是想多捞点钱。可怜我一个公众号,关联一个小程序,同一个后台,是不是还要搞几个用户表,哎
阿里的开放平台就不要钱啊,为什么微信的要钱