codecamp

百度智能小程序 地理位置服务

如何为用户提供地理位置服务

为帮助开发者更精准地服务和运营用户,智能小程序团队开放了「用户授权地理位置信息」的能力。通过官方提供的授权接口,开发者能够引导用户授权地理信息给小程序,用于提供更优质的服务。小程序地理位置授权能力开发流程及说明:查看开发文档 。

一、授权流程

1. 权限未开通提示 1

若百度 APP 未获取到手机系统的地理位置权限,会导致小程序授权失败。小程序可通过 模态弹窗 提示用户对应权限未开启,并注明手动开通权限的方式。说明:因小程序无法直接调起手机系统的授权,请不要在提示中提供直接开启权限的按钮误导用户。

2. 权限未开通提示 2

若小程序无法调起授权面板。请通过 模态弹窗 的形式提示用户对应权限未开启,注明手动开通权限的方式,并提供【前往开启】按钮方便用户抉择。说明:小程序需标记首次授权失败的事件,供后续再次触发该授权时做判断,做对应的提示与引导。

3. 授权失败提示

用户已明确拒绝小程序的授权申请,使用toast 组件轻量提示用户获取权限失败。

二、选择触发授权的方式

因授权行为会打断用户的任务流,请根据用户使用场景,从体验最佳的角度选择正确的触发方式。

触发地理位置授权的方式有 2 种:点击触发、自动触发。

2.1 点击触发

通过用户主动点击(按钮或 ICON 等)的行为触发地理位置授权,即,将触发授权与用户的点击行为绑定。点击触发授权的方式可以让用户对即将出现的授权流程有预期,能够降低用户拒绝授权的风险,也是对用户干扰性最低的触发方式。

示例1:填写收货地址,用户点击定位icon触发授权)

示例2:导航场景,用户点击导航icon触发授权


2.2 自动触发(请谨慎使用)

打开小程序页面时,在用户无任何操作行为的情况下自动触发地理位置授权。

2.2.1 适用场景

自动触发授权属于用户预期之外的一种行为,会打断用户的操作流,被拒绝的概率较高。因此,仅在当前页面内容强依赖用户地理位置信息,且授权前后的页面内容有明显差异时,才允许使用自动触发的方式申请授权。

示例1:页面核心内容是地图,授权后页面切换为用户所在详细位置,提供精准服务

示例2:页面核心内容是基于地理位置的团购信息,授权后切换为用户所在城市,推荐精准团购信息和运营入口

当前页面内容不强依赖用户的地理位置信息,授权前后页面内容无差异时,请不要触发地理位置授权干扰用户。

错误

小程序并未依据用户地理位置推荐页面信息,授权前后页面无差异。

2.2.2 授权中的页面展示

使用自动触发的方式申请地理位置授权时,需显示页面默认信息。不允许出现在无页面信息的状态下申请授权。

正确

自动地理位置授权,页面加载默认信息

错误

自动触发地理位置授权,不允许页面出现无信息的情况

2.2.3 用户拒绝授权后的页面展示

若用户拒绝授权,页面需显示默认信息,不允许出现空白页面致使小程序无法使用,影响用户体验。

正确

用户拒绝授权后,显示默认页面信息

错误

用户拒绝授权后,不允许出现空白页面

三、避免以下体验不佳的情况

3.1 违反用户隐私和数据规范

说明 1:小程序提供的服务或页面内容与用户的地理位置信息无关联性,不允许申请地理位置授权
说明 2:用户已经明确拒绝授权申请,不允许反复多次出现授权引导,强行引导用户开通权限

错误

用户已明确拒绝地理位置授权,不允许频繁多次出现引导信息,干扰用户使用小程序

3.2 违反功能实现规范

说明:弹窗引导授权,用户可选择接受或拒绝,不允许出现弹窗无法关闭的情况

正确

用户可以选择登录,也可以不登录

错误

不允许出现弹窗无法关闭的情况

3.3 违反不妨碍用户规范

说明:在用户已明确拒绝授权申请的情况下,不允许强行跳转至权限管理页

错误

不允许出现用户拒绝授权后强行跳转至权限管理页的情况

错误

不允许出现自动触发跳转至权限管理页的情况


百度智能小程序 互动体验
百度智能小程序 流落地页体验
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

百度智能小程序开发文档

百度智能小程序 组件

百度智能小程序 地图

百度智能小程序 画布

百度智能小程序 API

百度智能小程序 界面

百度智能小程序 关注小程序引导组件

百度智能小程序 自定义组件

百度智能小程序 媒体

百度智能小程序 设备

百度智能小程序 拨打电话

百度智能小程序 内存警报

百度智能小程序 手机联系人

百度智能小程序 用户截屏事件

百度智能小程序 第三方平台

百度智能小程序 开放接口

百度智能小程序 百度收银支付

百度智能小程序 分包预下载

百度智能小程序 数据分析

百度智能小程序 服务端

百度智能小程序 云开发

百度智能小程序 初始化

百度智能小程序 云函数

百度智能小程序 服务端初始化

百度智能小程序 服务器获取上下文

百度智能小程序 服务端云函数

百度智能小程序 开发教程

百度智能小程序 功能开发

百度智能小程序 基本原理

百度智能小程序 小程序自动化

百度智能小程序 视频教程

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }