小程序质量提升丨定位问题解决方案(错误码11)

简介: 小程序质量提升丨定位问题解决方案(错误码11)

本文主要介绍小程序定位相关问题的解决办法

问题
餐饮、出行等行业的支付宝小程序在提供服务时,对用户地理位置信息有较强依赖。与此同时,因用户未开启支付宝app定位而导致的定位失败案例(错误码11)占相当大的比例。

定位失败时,小程序未提供合理的权限打开引导,导致用户体验降低甚至流失:

1.引导错误
用户关闭支付宝APP的定位权限,应该引导到前面所述的系统位置设置界面,而不是引导到小程序右上角三个点的设置界面,以下为一个引导错误的案例:

2.用户操作麻烦
以下为一个转化率不高的引导案例,这种引导的方式有以下弊端:
用户操作麻烦:普通用户很难记住这个设置路径,需要反复在小程序和系统界面之间切换,很费时间;
系统差异:不同的系统(iOS和Android,Android手机的不同型号),操作路径不完全一样,对于开发者适配就非常麻烦,难免有遗漏,而一旦遗漏,由于操作路径错误,则用户就无法完成操作;

原理
定位权限的开启,有三个地方,任何一个地方关闭即可禁止位置信息的获取:平台会优先判断小程序级别的用户授权,若小程序地理位置授权已开启,而支付宝定位或手机系统定位任一权限关闭,则my.getLocation 调用失败,返回错误码11

手机系统级

支付宝APP级

小程序级

方案
1.使用my.getLocation获取地理位置

my.getLocation({
  type: 1, // 获取经纬度和省市区县数据
  success: (res) => {
    console.log(res);
    my.showToast({content:JSON.stringify(res)});
  },
  fail: (error) => {
    console.error('定位失败: ', JSON.stringify(error), error.error);
    if(error.error == 11){
      //错误码为11的时候,表示用户支付宝APP级别的定位权限没有开启,需要进一步的引导
    }
  },
  complete: () => {},
});

上述代码在用户没在小程序右上角三个点打开地理位置权限的时候,会自动弹窗引导(不会产生错误码),用户允许后,直接代开右上角三个点的地理位置权限,无需用户手工操作.这个时候,如果支付宝APP级别的定位权限已打开,则直接能获取到地理位置,否则会返回错误码11,进入下一步引导。

参考my.getLocation接口文档

2.如果my.getLocation返回错误码11,使用my.showAuthGuide
上述代码会引导用户去开启支付宝APP级别的定位权限,用户操作流程如下:

my.getLocation({
  type: 1, // 获取经纬度和省市区县数据
  success: (res) => {
    console.log(res);
    my.showToast({content:JSON.stringify(res)});
  },
  fail: (error) => {
    console.error('定位失败: ', JSON.stringify(error), error.error);
    if(error.error == 11){
       //错误码为11的时候,表示用户支付宝APP级别的定位权限没有开启,使用下面方法引导用户开启
      my.showAuthGuide({
        authType: "LBS"
      });
    }
  },
  complete: () => {},
});

参考my.shwoAuthGuide接口文档

目录
相关文章
|
5月前
|
小程序 前端开发 安全
小程序全栈开发中的跨域问题及其解决方案
【4月更文挑战第12天】本文探讨了小程序全栈开发中的跨域问题及其解决方案。跨域问题源于浏览器安全策略,主要体现在前后端分离、第三方服务集成和数据共享上。为解决此问题,开发者可采用CORS、JSONP、代理服务器、数据交换格式和域名策略等方法。实践中需注意安全性、兼容性和性能。通过掌握这些解决方案,开发者能更好地处理小程序的跨域问题,提升用户体验。
316 0
|
5月前
|
移动开发 小程序 API
微信外部浏览器或短信链接唤起微信小程序的解决方案
微信外部浏览器或短信链接唤起微信小程序的解决方案
1230 1
|
5天前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
56 1
|
9天前
|
缓存 小程序 索引
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
50 1
|
11天前
|
机器学习/深度学习 人工智能 JSON
微信小程序原生AI运动(动作)检测识别解决方案
近年来,疫情限制了人们的出行,却推动了“AI运动”概念的兴起。AI运动已在运动锻炼、体育教学、线上主题活动等多个场景中广泛应用,受到互联网用户的欢迎。通过AI技术,用户可以在家中进行有效锻炼,学校也能远程监督学生的体育活动,同时,云上健身活动形式多样,适合单位组织。该方案成本低、易于集成和扩展,已成功应用于微信小程序。
|
15天前
|
小程序 Java
小程序访问java后台失败解决方案
小程序访问java后台失败解决方案
29 2
|
18天前
|
机器学习/深度学习 人工智能 小程序
做AI运动小程序有哪些解决方案,如何进行选型?
随着深度学习技术的发展,AI运动应用如“天天跳绳”和“百分运动”变得流行。本文探讨了将AI运动功能引入微信小程序的可行性,并介绍了几种解决方案。实现AI运动计数的关键技术包括视频抽帧、人体检测、姿态识别等。文中详细描述了离线方案(全离线和半离线)和原生方案(自研AI引擎和成熟插件)的不同实现方式,并对各种方案进行了对比,建议优先选择成本低、体验佳的AI运动识别插件方案。
|
8天前
|
JSON 小程序 前端开发
微信小程序-人脸核身解决方案
微信小程序-人脸核身解决方案
53 0
|
15天前
|
云安全 存储 小程序
PHP微信小程序解决方案PhpMall
PHP微信小程序解决方案PhpMall
29 0
|
16天前
|
小程序
微信小程序之weui.wxss不能引用查找的解决方案
微信小程序之weui.wxss不能引用查找的解决方案
21 0