小程序用户信息授权申请,用户拒绝之后,使用官方提供的wx.authorize接口再次拉起授权窗口,但是有BUG,由于之前拒绝过,这个API拉不起来;还有一个wx.openSetting可以打开用户设置页,不想通过这个去重新授权;请问如何再用户拒绝后不通过wx.openSetting再次拉起授权窗口;比如小程序:群里有事、小打卡
小程序用户信息授权申请,用户拒绝之后,使用官方提供的wx.authorize接口再次拉起授权窗口,但是有BUG,由于之前拒绝过,这个API拉不起来;还有一个wx.openSetting可以打开用户设置页,不想通过这个去重新授权;请问如何再用户拒绝后不通过wx.openSetting再次拉起授权窗口;比如小程序:群里有事、小打卡
8 回答4.7k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
当用户拒绝授权小程序时怎么办?
都知道,在首次进入小程序时,我们常常会收到一些获取权限的申请,比如「获取地理位置权限」、需要微信登录时请求「获得你的公开信息(昵称、头像等)」。对于这些权限申请,开发者当然希望获得所有权限,而用户拒绝授权的情况不免存在。
那么作为开发人员在考虑「用户拒绝授权」这类异常情况出现时,应该提前做好未获得授权时的兼容处理,以及用户希望授权时的再次提醒。
兼容处理:考虑权限获取是“刚需”还是“非刚需”
在「获取地理位置权限」时,如果你所开发的是地图类、外卖类等类型的小程序,那么这是“刚需”项;而当你开发的是社交类等类型的小程序,那么获得地理位置则为“非刚需”项。
针对非刚需项的兼容处理,设置好被拒后的默认值
在“摩拜单车”小程序中,地理位置是最主要信息,当用户拒绝授权时,地图无法定位用户所在位置,则默认显示以北京天安门城楼为中心的地图。
“京东购物”小程序中「获得你的公开信息(昵称、头像等)」为主要信息,当用户拒绝授权时,则显示默认空头像,商品收藏、账户余额等个人信息均为“-”。
在用户拒绝授权公开信息时显示的功能项可适当减少,在获取授权后显示完整功能项。
对于刚需项的兼容处理,做好再次取得授权的准备
在微信小程序中,地图层级最高。
此时用户如需在拒绝后再允许小程序使用自己的地理位置,“摩拜单车”小程序的处理方案是:点击右上角的三个点-关于摩拜单车-右上角三个点-设置-打开地理位置。
这也是绝大多数小程序的处理方案。
事实上,很多小程序用户并不了解设置功能,大多数用户想到的方法可能是删掉小程序,再重新使用,等待首次进入小程序的获得授权弹窗。
而在“美团外卖+”小程序中,当用户拒绝授权地理位置时,会出现双选项对话框。若在对话框内点击「确认」,直接进入了小程序的设置界面;若点击「取消」,该小程序也有明显的提示请求获取授权。
在地图下方新增按钮,按钮配置
wx.openSetting
接口便于用户直接跳转至设置页面。获取授权的再次提醒
“美团外卖+”小程序中,若未取得用户地理信息授权,每次进入小程序都会收到对话框提示,转至设置页面。
“i麦当劳”小程序中,若未取得用户信息、地理信息授权,显示提示信息后直接转至设置界面。
那么,如何调用
wx.openSetting
接口呢?以“美团外卖+”小程序提醒为例,首次进入小程序时请求获得地理位置授权,若用户拒绝授权,则每次进入小程序时出现对话框,询问是否打开定位权限,若选择“确定”进入设置页面。
在小程序 index.js 页面如下编辑:
代码运行效果:
值得一提
值得一提的是,在小程序开发者社区,特别提到了关于用户首次使用小程序拒绝授权的问题,提出了获取用户信息方案。
尤其值得开发者注意的是: