小程序质量提升丨定位问题解决方案(错误码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接口文档

目录
相关文章
|
15天前
|
小程序 前端开发 安全
小程序全栈开发中的跨域问题及其解决方案
【4月更文挑战第12天】本文探讨了小程序全栈开发中的跨域问题及其解决方案。跨域问题源于浏览器安全策略,主要体现在前后端分离、第三方服务集成和数据共享上。为解决此问题,开发者可采用CORS、JSONP、代理服务器、数据交换格式和域名策略等方法。实践中需注意安全性、兼容性和性能。通过掌握这些解决方案,开发者能更好地处理小程序的跨域问题,提升用户体验。
|
1月前
|
移动开发 小程序 API
微信外部浏览器或短信链接唤起微信小程序的解决方案
微信外部浏览器或短信链接唤起微信小程序的解决方案
141 1
|
2月前
|
小程序
小程序一直未提审的原因及解决方案
小程序一直未提审的原因及解决方案
27 0
|
2月前
|
移动开发 小程序 API
【小程序质量提优解决方案】(三)内嵌H5页面访问受限
【小程序质量提优解决方案】(三)内嵌H5页面访问受限
85 0
|
2月前
|
移动开发 小程序 JavaScript
【小程序质量提优解决方案】(二)内嵌H5加载异常(404)
【小程序质量提优解决方案】(二)内嵌H5加载异常(404)
35 0
|
2月前
|
小程序 IDE API
如何提升小程序开发质量?
如何提升小程序开发质量?
24 0
|
2月前
|
小程序
小程序一直未上架的原因及解决方案
小程序一直未上架的原因及解决方案
56 0
|
2月前
|
监控 小程序 开发者
【小程序质量提优解决方案】(一)页面不存在
【小程序质量提优解决方案】(一)页面不存在
52 0
|
3月前
|
小程序 JavaScript 数据可视化
微信小程序innerHTML解决方案
微信小程序innerHTML解决方案
|
9月前
|
移动开发 小程序 JavaScript
微信小程序学习实录6(百度经纬度采集、手动调整精度、H5嵌入小程序、百度地图jsAPI、实时定位、H5更新自动刷新)
微信小程序学习实录6(百度经纬度采集、手动调整精度、H5嵌入小程序、百度地图jsAPI、实时定位、H5更新自动刷新)
134 1