为进一步规范开发者调用用户信息相关接口或功能,提升用户体验,平台将对部分用户信息相关功能及接口进行调整,具体如下:
访问蓝牙、添加通讯录联系人、添加日历事件需要用户授权
小程序处理用户的个人信息,需要获取用户明示同意,平台计划从2022年2月21日24时起对以下接口增加用户授权:
- 访问蓝牙:调用wx.openBluetoothAdapter、wx.createBLEPeripheralServer,需要授权scope.bluetooth
- 添加通讯录联系人:调用wx.addPhoneContact,需要授权scope.addPhoneContact
- 添加日历事件:调用wx.addPhoneRepeatCalendar、wx.addPhoneCalendar,需要授权scope.addPhoneCalendar
开发者可在平台调整前提前增加使用 wx.getSetting 获取用户当前的授权状态的逻辑,若授权状态为false可以调用 wx.openSetting 打开设置界面,引导用户开启授权。
授权功能详细说明可参考:官方文档
<open-data>组件功能调整
开发者在未获取用户明示同意的情况下通过 <open-data>组件 在小程序中展示用户个人信息,用户容易误以为自己的个人信息在未授权的情况下,被小程序获取。平台计划从2022年2月21日24时起回收通过<open-data>展示个人信息的能力,若小程序需收集用户昵称头像等信息,可以通过 头像昵称填写功能 功能进行收集。具体回收方式为:
- 头像展示 灰色头像
- 用户昵称展示“微信用户”
- 用户性别、地区、语言展示为为空(“”)
小程序通过<open-data>展示群名称能力保留,平台会针对小程序生命周期内首次调用该组件展示群名称向用户提示:“群名称仅你可见,小程序无法获取。”
获取手机号能力安全升级
此前小程序获取用户手机号是通过基础库接口直接获取encryptedData后进行解密。从基础库2.21.2版本起,回调参数中增加code参数,开发者获取code参数后,通过服务端auth.getPhoneNumber接口,使用code换取encryptedData,用于解密手机号。
为不影响开发者现有逻辑,原有基础库接口中的encryptedData参数依旧保留,建议开发者尽快使用新的方式获取用户手机号。
详细功能描述可参考 官方文档
微信团队
2021年12月27日