1. 程式人生 > >微信公眾平臺開發之獲取使用者地理位置

微信公眾平臺開發之獲取使用者地理位置

在進行微信運營的時候,使用者地理位置是我們進行營銷策劃、廣告活動投放、使用者精準營銷的重要依據,今天我們就來分析一下微信開發中如何獲取獲取使用者地理位置。

獲取使用者地理位置,你需要在微信公眾平臺開發者中心開啟上報地理位置介面功能,開啟之後會在使用者首次進入公眾號時,彈出是否允許上報地理位置選項,如果選擇允許則在使用者每次進入公眾號會話的時候微信會以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>
引數說明:


下面來記錄使用者的地理位置資訊到資料庫.

首先引用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); 
                //此處為寫入資料庫操作,至於資料庫結構,資料定入操作根據你的系統決定
	}
}
儲存到資料庫中結果如下,

這就把使用者的地理位置資料記錄下來了,以後如果需要根據使用者地理位置推送某些訊息(如附近的門店),就可以在資料庫中查詢使用者的最近的一次地理位置資訊來推送了,如你的微信選單上有一個按鈕叫做“附近門店”,就可以把這個地理位置再匹配你門店地理位置選擇性的向用戶推送,這個留在下一節來講,敬請關注。

轉載地址:http://www.360doc.com/content/15/0818/16/10227105_493229885.shtml

詳細參考:http://blog.csdn.net/fanhu6816/article/details/52123394