[微信小程序]获取用户位置信息时需填写用途说明 []

各位开发者:大家下午好。在一些小程序/小游戏的业务逻辑中,有时需要依赖用户所在的地理位置来提供服务,当前开发者可以通过调用 调用 wx.getLocation / wx.authorize 等接口获取用户的地理位置信息或授权。

根据 iOS 系统对用户隐私保护的要求,同时我们也为了让用户可以更好的判断是否要将地理位置信息提供给开发者,故调整为当小程序/小游戏获取用户地理位置信息时,开发者需要填写获取用户地理位置的用途说明。填写的说明将在地理位置授权弹窗中展示,如下图所示:


具体开发方法如下:

在 app.json 里面增加 permission 属性配置(小游戏需在game.json中配置):


详见 小程序开发文档/小游戏开发文档

可在开发者工具(1.02.1812260及以上版本)中进行调试。

2019年1月14日起新提交发布的版本将会受到此调整的影响。

需要各位开发者注意,2019年1月14日起新提交发布的版本若未填写地理位置用途说明,则将无法正常调用地理位置相关接口,请及时填写地理位置用途说明。该调整策略在微信客户端 7.0.0 版本生效。另外,考虑到兼容性等问题,在微信客户端 7.0.0 版本以下的环境中不受此策略影响。

微信团队    2018.12.26

  • 还愣着干嘛,鼓掌啊...

    • 你皮的不行

    • 啪啪啪...

    • 厉害厉害

  • 各位同行,年前抓紧改自己的项目吧!免得元旦加班放不了假了。哈哈哈哈

    • 嗷~

    • 已经加完了

    • 没看懂怎么加呢 就是在app.json里面 复制粘贴

       "permission": {    "scope.userLocation": {      "desc": "你的位置信息将用于小程序位置接口的效果展示"    }  }

      就可以吗   我弄的老是报错 - -! 求教那

  •  代码竟然是图片,不能复制。客户体验没人管了吗?

    • 哈哈, 表示开心的语气词嘛,我懂~
    • 是啊  我复制的时候也发现了呢

    •  帮我点赞,顶我上去。改掉小程序开发团队的坏习惯

  • 如果有多处调用,而且用途不太一致呢?

    另外国际化也是个问题

    建议把desc放到API的参数中

    • 同问, 跟风dog。
    • 直接把多个场景的使用加个  “用于XXXX等”... 主要告诉用户具体用途,方便用户辨别是否需要授权。跟iOS一致。

    • 同问,多处调用不能都显示一样

  • 这个地方不能支持多语言的么? 只能写一种语言的提示么?

    • 这样提示框会不会出现中英文混杂的情况呀@官方

    • 这个要顶

    • 同问。需要国际化



  • 调用一次弹一次,我就想问:“烦不烦啊”?

    • 烦,每调用一次 getLocation 就弹出来一次弹窗,授权不是一次就好了么


    • 是的,有没有什么办法不每次都弹啊

    • 确实有这个问题,不过我开发预览在手机上倒是没事,只在开发工具上弹个没完

  • 写啥都行么?可以调皮么?

  • 。。。。。又改

  • 弹窗两次  用户需要点击两次?

  • 安啦,比上次那个getUserInfo舒心多了,何况这是苹果的锅

    • getUserInfo 那个是真的难受

    • 看到getUserInfo我就想把她按在地上摩擦摩擦

    • 哈哈, 表示开心的语气词嘛,我懂~
  • 加上这段描述后,使用“真机调试”会报错,开发者工具已经更新到最新版




    • 预览也不行  同样遇到

    • 同样是这个问题

    • 同样是这个问题

  • 你还是个人?

    • 哈哈


  • 没有一点点防备,我就这样被你改死了,赔钱!!!!

  • IOS的需要各种改,能消停点吗。要么小程序直接把IOS的去掉得了

  • 我们一下下来有30个小程序开发,几乎一半以上用到。

    • 魔鬼的改革

  • 怎么改啊?以前一次授权就可以了,现在2次了!这体验度 让人怎么接收啊!

    看图,怎么改啊?请求官方指点!指点!


    下面是第一次获取位置弹出的:




    下面是点击确定后 又来一次弹窗,(这次是添加在APP.JSON里面的),这有点让人无法接受!




    希望官方尽快解决,这体验度  不太好!

    • 对啊 , 我的直觉很准啦
    • 按这个逻辑,permission本身就是在获取地理位置,改动怎么这么不严谨呢

    • 是啊  并且第一次确定之后再点不允许还是授权的状态

  • 这是个问题

  • 大家。赶紧在过年之前改了吧!!。。以免后面突然不能用了!!!

  • 加了还是不行啊

  • 济南发来贺电 鼓掌一小时

  • 为什么弹框弹两次 ? 用户需要点击两次 ? 多么差的用户体验  官方能否解释下?

  • 调一次,弹一次,考虑过对定位很依赖很强的小程序的感受吗?你想让我怎样,你还想怎样!!!就这么玩,厉害了

    • 23333

    • 真机上只会弹一次呢

    • 开发不方便啊

  • 我为什么设置了没有效果呢,获取不到位置信息了

      1. 想看效果升级一下你的微信开发工具,升级后能看效果

      2. 但是提交上传代码的时候json又不能有 这些描述,否则报错


      所以不建议升级[手动滑稽]

    • 微信果然很优秀。。。

  • 我自己作为一个用户;这样的小程序我肯定不选择使用了。每次都要弹出来。烦都烦死了

    • 只会在第一次授权的时候弹窗呢

  • 调一次,弹一次,这样交互用户体验太差,考虑过对定位很依赖很强的小程序的感受吗?就问小程序官方你是想闹哪样

    • ide的bug,真机上只会弹一次呢

    • 感谢小MM

  • 苹果甩锅?

  • 干啥啊,干啥啊,老变。我学门语言容易吗我,刚记住怎么用,又得赶紧忘了

  • 写了不管事啊,没反应

  • 在公共号网页中地图用到的定位wx.getLocation 怎么解决,你们给的解决方案是小程序和游戏的,公共号网页怎么解决?


    • 有人回答我吗?

    • 请问有解决方案了吗?

    • 公共号撤了,全改成小程序了。没办法

  • 昨天阿里,今天tx,笑着活下去,(´◊ω◊`) 没有一点点防备

  • 我的程序规定到一定区域内才可以使用   所以每次访问接口都会获取当前位置  那我的程序基本上就废了  一路弹提示 !! 我的天呀


    • 第一次授权以后就不会再弹了

    • 每次都回弹啊

    •  每次都会弹  你要把你的开发工具升级到最新版本才能测出这个


      详见小程序开发文档

      可在开发者工具(1.02.1812260及以上版本)中进行调试。

      2019年1月14日起新提交发布的版本将会受到此调整的影响。

      需要各位开发者注意,2019年1月14日起新提交发布的版本若未填写地理位置用途说明,则将无法正常调用地理位置相关接口,请及时填写地理位置用途说明。该调整策略在微信客户端 7.0.0 版本生效。另外,考虑到兼容性等问题,在微信客户端 7.0.0 版本以下的环境中不受此策略影响。


  • 不改用不了了吗???

  • 个人感觉,用户使用微信时就已经授权微信获取用户的地理位置了,在小程序里再一次询问(假设用户每天访问N个小程序,就需要出现N个询问,而且每次都有可能不同的用途说明),后果自己想。。。


    最后还是支持地理位置隐私不能随意泄露,


    但为提升用户体验,建议官方统一设置用途说明,至于安全性问题应该把关在代码审核层面

    • 授权微信,代表我信任微信,并不信任某个小程序。

    • 哈哈,人如其名

    • 毫无逻辑的脑残


  • 写了也一样,报错,而且还没有地理位置已经不行了。。。。蛋疼。头大

  • 大神我这修改添加了不能调用啊?

  • 那段代码放到app.json中,调用getLocation后没有报错,但是弹出的提示窗口和你们上面文中说明的不同,并且没有获取到数据,依然在console台弹出getLocation API提示。到底是怎么回事?





  • 估计以后还要改,呵呵

  • VM1021:5 undefined

    Expecting 'EOF','}',',',']', got STRING

      43 |       ]

      44 |     }

    > 45 | }

         | ^

      46 | "permission": {

      47 |   "scope.userLocation": {

      48 |     "desc": "你的位置信息将用于小程序位置接口的效果展示"

    (anonymous) @ VM1021:5

    报错社么鬼,到底怎么加

  • 就不能做向后兼容么,妈的,谁特么天天盯着你们的公告看啊,搞的一大早,几百个客户都特么不能用了,微信团队这也太不负责任了吧,而且每次都弹,真是日了狗了,这特么还怎么玩呢

  • 心好累,没有推送,我们不知道,也没有更新。昨天今天好几个客户报问题才知道还有这茬。每天都要死盯着你们这些api,还要不要做其他事情了。保不齐哪天又偷摸改了。

  • 魅族手机定位报错,这个是什么原因??怎么解决

  • 坑死老子了 找了一下午原因

  •  "permission": {    "scope.userLocation": {      "desc": "你的位置信息将用于小程序位置接口的效果展示"    }  }

    大佬们,那公众服务号程序如何加这种提示定位

  • 这个地方不能支持多语言的么? 最起码能配置一个英文和中文的吧

  • 初次评论,请多指教
  • "desc": "您的位置信息将用于小程序定位到您当前所在位置"。我这样提示可以吗???文案合适吗???

  • "permission": {

    "scope.userLocation": {

    "desc": "您的位置信息将用于小程序定位到您当前所在位置"

    }

    },


    直接赋值粘贴就可以了吗??

  • 估计你少了一个逗号

  • 这个要调试的话只能在开发者工具中调试?看到真机调试就没有了,有没有办法真机调试?

  • 描述写成中文的空格不知道行不行

  • 配置全局设置了,模拟器/真机都没有出来弹出框,怎么回事?


  • "permission": {
        "scope.userLocation": {
          "desc": "你的位置信息将用于小程序位置接口的效果展示"
        }
      }


  • 何必要在快过年的时候调整这么大。。真为公司着想啊

  • 1.02.1812271

    开发者工具,这个版本调用定位,不会每次都弹授权吗

  • 添加了之后ios是可以的,  安卓为什么没反应


  • 上传错误,原因:Error: 无效的 json 文件:desc(请允许(我约Lite)获取您的地理位置,如果不允许,您将无法获取您周边约局信息。) of scope.userLocation is invalid


    换一句


    你的位置信息将用于获取您周边约局信息   ---- 没问题


    Android 7.0.0 无提示,IOS 7.0.0 有

  • 吐槽再多有什么用呢,我的下一份工作如果再写小程序我直播吃键盘!

  • 扑通!!

  • 我就想问,我app.json添加了desc,你开发者工具不让我上传,上传报无效的JSON是什么意思。这么粗心的吗?

    • 不能写太长,超过一定报错,而且还是无效json错误

  • 不升级是不是就没问题?可以正常使用?

  • 需要做什么?

  • 放在app.json里边调用,怎么一点用都没有

  • 小程序接口的开发者是不是每天上班的时候都会被门夹一下

  • 真是脑残设定

  • 调用一次getLocation就会弹出来一次弹窗吗?

  • 搞的像IOS开发一样

  • 写了还是不行

    • userLocation

      L需要大写。

    • 感谢,已经好了。

  • 如果用的是百度lbs的定位服务也是再app.json里面配置就可以了吗?

  • 调用相机、相册的,什么时候加?

  • 凭什么让苹果背锅 做过iOS开发,定位权限需要填写使用目的,你们这个每次请求都糊脸上,和授权不搭边吧,用户都同意了,还每次糊脸上?

  • 为什么初始化调用wx.getLocation不显示用途说明



    上图点击确定之后又会出现下面的弹框,并且在之后的每次调用都会出现弹框

    并且当初始化调用wx.getLocation点击确定之后,再点击不允许得到的scope.userLocation值都还是true


  • 是不是只对ios 系统起作用?

  • 我只想哭只想哭只想哭~~


  • 开发工具真机调试,为什么有两个"温馨提示"的弹框,而且第二个会把授权的弹框覆盖掉,点了"获取位置"之后就是这几个页面循环,必须点"不使用",然后点"允许",才能正常使用

    而且,我没看到我的提示内容啊


    这么坑的吗?

  • 调用一次弹一次,这样操作是不是太频繁了,如果用户已经授权是否可以考虑就不要再次弹出了,在调试的时候都一直跳


  • 编辑器是最新的,有用哈

  • 牛逼

  • 这样每次调用都需要授权了吗?还是有什么方法,可以只授权一次

  • 是自由地理位置的才这样处理把?获取用户信息,获取相册保存什么的权限应该不需要这样设置把


  • 一个小程序多个地方不同用途需要调用,咋办?中英文怎么办?

  • 请问提交的小程序源码,已发布的版本在发里可以下载?

  • 改吧

  • 加上这段描述后    每次定位都会弹窗?

  • 大家好!我QQ号3568009870,很想和大家交个朋友!欢迎添加一下啊!

  • 请问一下,安卓系统也是需要改的吗?谢谢


  • 不加还不行,先加着,微信版本还没到7.0.0,应该对目前项目不会有什么影响

  • 文档还没改

    https://developers.weixin.qq.com/miniprogram/dev/api/wx.getLocation.html

  • 收拾收拾,回家过年吧!

  • 使用了高德小程序api,加上给的这段

    permission: {
       'scope.userLocation': {
           desc: '用途:商家能够更好地为您提供服务'
       }
    },

    谈两次弹窗

    点击上面的确定会继续跳出下图的弹窗,点击取消则直接不弹出

  • 小游戏怎么加

  • 我是来观看大家皮不皮的

  • 没用啊

  • 这死吗弹窗就是关不掉是吗

  • 腾讯是你大爷.jpg

  • 赶在小程序没上线,赶紧把项目停了吧

  • 会有多少人直接就copy这句话?然后用户依然不明所以

  • 字数是不是也有具体限制,过多不能编译

  • 端谁的碗,归谁管。这句话不是没道理的。

  • 无语,这种调整只能配合了

  • 好的老板

  • 这个做地图开发的是不是就被弄死了

  • 描述与实际用途不符合你们怎么检查?怎么知道我说干什么用就只能干嘛用呢?  想皮一下……

  • 在企业微信中,每次都要点确认吗?还是点一次后,以后就不用再确认了?

  • 日了狗了。

  • 请问定位不准怎么解决。。各位大佬

    • 好像是要解决偏移量,百度搜一下有一个小程序例子讲的是小程序 精准定位。


  •  赶紧改吧,不然放假还得加班


  • 能不改了吗,大佬,快被搞死了

  •  改得好

  • 真的是又改


  • IOS 系统才会提示么?

  • 所以要弹两个框,点了“确定”,不管点击“允许”还是“不允许”,只要再次去获取位置信息就会一直弹出来是否允许的框……




    • 不说了,我也是这样,无语了

    • 要去适配这个改动也是可以的,不过如何实现实时获取位置信息以展示附近的信息呢……

    • 应该和我遇到的问题是一样的

      1812260版本位置授权不正常

  • permission可以动态修改吗?

  • 小程序上面各种BUG  建议小程序底层放到GitHub 上开源   让大神来修改嘛,你马化腾手下全是制造麻烦和bug的程序员啊,出现无法解决的bug,在开发文档里面竟然直愣愣的说出来“这是个bug,等待后续修改”,说这句话的时候觉得对得起自己的工资吗?如果开发过程中我有问题解决不了  那这句话 给老板  老板估计 cao si 了

    • 我这种渣渣觉得还好,可能是我等级比较低吧,哈哈

  • 为什么已经在app.json里面添加了位置信息的用途,弹窗里面也显示了,还是拒绝审核,拒绝的原因还是获取用户位置信息时需填写说明?

  • 麻花藤,你欠我一份工作

  • 谢谢~, 应该的啦,很高兴帮到你呢。
  • wx.chooseAddress  获取通讯地址的   用这个方法咋出不来。。。如下



    • 目前只支持 scope.userLocation

    • 兄弟你确定嘛?我还能过个好年嘛

  • 刚做完了个地图,就看到这样的消息。可怜

    • 等哪天微信爸爸说setData改成同步,那就惨喽

    • 别胡说啊~万一成真了咋办

  • 做个人吧

  • 可在开发者工具(1.02.1812260及以上版本)中进行调试。


    1.02.1812260发布了么?

    • 刚检查了一下  有更新了

  • 有点丑感觉

  • 真2222222222222啊,简直没话说了.

  • 年都过不好了。。。