使用Google云服务进行地理位置定位
我常常使用应用程序中的定位功能,主要用于分析的目的。 例如,我想知道我的用户来自哪里。 通常来说,我只需要知道国家, 城市, 发起请求的经纬度, 因此这几年, 我一直使用MaxMind, MaxMind很好, 但商业版大约在1500美金每年, 对于我最基础的使用需求,花费太高了。 最近, google发布了一款测试版 ”用户自定义包头” 允许用户通过google load-balancer定位请求来源, 我将向你展示在应用中如何配置。
为了简单起见, 假定你的应用已经在google云上部署并且你日常通过google的HTTPS负载均衡去访问应用。
首先,你需要升级后端实例支持”用户自定义请求包头” 我的后端实例命名为“app” 这是我使用过的命令。
基本来说, 我使用Google负载均衡添加三个包头-“X-Client-Geo_location” ,“X-Client-Geo-Region” & “X-Client-Geo-Latlong” 你可以自定义包头名, 不用使用”X-User-IP” 并且以“X-Google” 或者“X-GFE”开头。
一旦后端实例升级后,几分钟后,你就可以看到请求种包含新的包头。
恭喜你-现在你的请求种包含了地理信息, 并且是免费的, 非服务器表单。
最后, 不仅仅只有地理信息加入到请求种, Google可以提供客户端来回延时评估, ms TLS版本, 加密, 主机名。