2012-01-30 69 views
2

我有一些Facebook廣告和外部廣告指向坐在頁面選項卡上的應用程序。存儲Facebook應用程序引用者

當我的應用程序存儲一些用戶信息時,我還想通過某個標識符來記錄哪些廣告將它們引用到了應用程序中。

我知道$_SERVER['HTTP_REFERER']在大多數情況下是不可靠的,任何作爲查詢字符串(http://www.facebook.com/pages/Test-Page/21814976xxxxxxx?sk=app_25966185xxxxxxx&referrer=advert_1)傳遞的參數都不會持久。

有沒有一種方法可以準確地確定用戶如何訪問我的iframed Facebook應用程序?

自卸車上的應用程序的所有HTTP請求頭:

[Host] => xxxxx.com.dev 
[Connection] => keep-alive 
[Content-Length] => 522 
[Cache-Control] => max-age=0 
[Origin] => http://static.ak.facebook.com 
[User-Agent] => Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1017.2 Safari/535.19 
[Content-Type] => application/x-www-form-urlencoded 
[Accept] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
[Referer] => http://static.ak.facebook.com/platform/page_proxy.php?v=4 
[Accept-Encoding] => gzip,deflate,sdch 
[Accept-Language] => en-US,en;q=0.8 
[Accept-Charset] => ISO-8859-1,utf-8;q=0.7,*;q=0.3 
[Cookie] => PHPSESSID=333dea05c7913f549c98599a797d4f71; __utma=75786053.945637676.1327581224.1327924758.1327928159.8; __utmb=75786053.2.10.1327928159; __utmc=75786053; __utmz=75786053.1327928159.8.8.utmcsr=static.ak.facebook.com|utmccn=(referral)|utmcmd=referral|utmcct=/platform/page_proxy.php; fbsr_259661857422740=N5qiJMZV3Rx_oOpluV9fNfy76R98ux45MF9dqe8SFu4.eyJhbGdvcml0aG0iOiJITUFDLVNIQTI1NiIsImNvZGUiOiIyLkFRQUU1eWRtcU1wWUlhMkYuMzYwMC4xMzI3OTMyMDAwLjUtMTgxOTA5OTAyMXxZZzNWY3ctdE52YVB1cjJQM3g2OFJBSVlnZEUiLCJpc3N1ZWRfYXQiOjEzMjc5MjgxNzYsInVzZXJfaWQiOiIxODE5MDk5MDIxIn0; ci_session=a%3A6%3A%7Bs%3A10%3A%22session_id%22%3Bs%3A32%3A%22ac29210xxxxxx8d1896cecdacc669%22%3Bs%3A10%3A%22ip_address%22%3Bs%3A9%3A%22127.0.0.1%22%3Bs%3A10%3A%22user_agent%22%3Bs%3A118%3A%22Mozilla%2F5.0+%28Macintosh%3B+Intel+Mac+OS+X+10_6_8%29+AppleWebKit%2F535.19+%28KHTML%2C+like+Gecko%29+Chrome%2F18.0.1017.2+Safari%2F535.19%22%3Bs%3A13%3A%22last_activity%22%3Bi%3A1327928158%3Bs%3A9%3A%22user_data%22%3Bs%3A0%3A%22%22%3Bs%3A14%3A%22signed_request%22%3Bs%3A507%3A%22RBHppEnvz_GZwbPA74cZDbFyp3rYr8Tma8yorW3aoUA.eyJ[SNIPPED]%22%3B%7D72d0866c56330f1a75d00d53e44c6aa4 
+1

被Facebook刪除了嗎?可能被瀏覽器刪除,因爲Facebook沒有發送HTTP裁判,但瀏覽器是。您可以轉儲所有發送到您的服務器的請求標頭嗎?可能有可用的東西,你可以使用。爲你的問題增加一些價值也是很好的。 – hakre 2012-01-30 12:52:13

+1

還要注意,正確的拼寫是「HTTP_REFERER」,而不是(如你所寫)「HTTP_REFFERER」。見http://php.net/manual/en/reserved.variables.server.php – hakre 2012-01-30 12:54:35

回答

4

可以使用app_data參數來傳遞更多的數據到應用程序中Page Tab

另外的工作,你的應用程序也將獲得一個字符串參數app_data作爲signed_request的一部分,如果app_data參數在加載標籤的URL中的原始查詢字符串中設置。對於上面的「立即購買」鏈接,可能如下所示:「http://www.facebook.com/YourPage?v=app_1234567890 & app_data = any_string_here」。如果您控制鏈接的生成,您可以使用它來自定義您呈現的內容。

+0

正是我需要的。謝謝。 – Luke 2012-01-30 13:40:29

相關問題