我正在为Android平台构建Cordova应用程序.
我需要获得用户的国家/地区.
我知道地理定位给出了GPS坐标.
有没有办法让国家不使用任何外部API?如果不可能,什么是最好的解决方案?
解决方法:
用户体验和法律视角对于您需要哪个国家有重要区别:
>当前位置的国家/地区:使用地理位置API和任何映射解决方案.这是确定位置国家的唯一可靠方式,因为通过IP或SIM卡检测可能仅识别电信提供商的国家/地区.请注意,当前位置的国家/地区不是公民身份的国家/地区,并且不允许确定用户的语言或区域设置偏好.
>国家作为本地化的背景:使用ECMAScript Internationalization API [1]和cordova-globalization-plugin [2]作为后备.请注意,这些API根本不提供位置信息:语言和区域设置信息与用户的国家/地区不同(例如,用户可以选择法语区域设置和en_US语言,同时居住在摩纳哥并且是俄罗斯公民).
>国籍国.在某些情况下,它是您服务的关键信息(例如,当客户 – 服务器系统收集的用户的个人数据必须在法律要求的公民身份国家/地区进行实际处理时).确定它的唯一方法是询问用户并要求您通过服务条款得到他的诚实答复.请注意,该国籍/国家/地区不会确定本地化设置或用户的当前位置.
[1] http://www.ecma-international.org/ecma-402/1.0/
[2] https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-globalization/