分享

微信公众平台开发之获取用户地理位置

 欢乐奇园 2015-08-18

在进行微信运营的时候,用户地理位置是我们进行营销策划、广告活动投放、用户精准营销的重要依据,今天我们就来分析一下微信开发中如何获取获取用户地理位置。

获取用户地理位置,你需要在微信公众平台开发者中心开启上报地理位置接口功能,开启之后会在用户首次进入公众号时,弹出是否允许上报地理位置选项,如果选择允许则在用户每次进入公众号会话的时候微信会以xml形式将用户的地理位置上报到你开发者中心填写的url上。

注意:用户地理位置是被动获取的,需用户同意后才会上报,微信公众平台开发不能主动获取用户地理位置。

先看看官方给出的xml示例及解析。

推送XML数据包示例:

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[LOCATION]]></Event>
<Latitude>23.137466</Latitude>
<Longitude>113.352425</Longitude>
<Precision>119.385040</Precision>
</xml>

参数说明:

参数 描述
ToUserName 开发者微信号
FromUserName 发送方账号(一个OpenID)
CreateTime 消息创建时间 (整型)
MsgType 消息类型,event
Event 事件类型,LOCATION
Latitude 地理位置纬度
Longitude 地理位置经度
Precision 地理位置精度

下面来记录用户的地理位置信息到数据库.

首先引用Wechat SDK,

若对Wechat SDK不了解的,请点击查博客中对Wechat SDK详情。

use  Com\Wechat;

将数据插入数据库

public function index(){
    	$agent = $_SERVER['HTTP_USER_AGENT']; 
	if(!strpos($agent,"MicroMessenger")) {
		echo '只能在微信浏览器中使用';
		exit;
	}

        $token = '7894578953485348944qwe'; //微信后台填写的TOKEN         
	/* 加载微信SDK */
	$wechat = new Wechat($token);
	/* 获取请求信息 */
	$data = $wechat->request();		 
	if($data && is_array($data)){
		M('wxuser_location')->add($data); 
                //此处为写入数据库操作,至于数据库结构,数据定入操作根据你的系统决定
	}
}

保存到数据库中结果如下,

微信公众平台开发之获取用户地理位置 - 第1张  | 码农小兵

 

这就把用户的地理位置数据记录下来了,以后如果需要根据用户地理位置推送某些消息(如附近的门店),就可以在数据库中查询用户的最近的一次地理位置信息来推送了,如你的微信菜单上有一个按钮叫做“附近门店”,就可以把这个地理位置再匹配你门店地理位置选择性的向用户推送,这个留在下一节来讲,敬请关注。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多