2010-09-02 2 views
4

Я пытаюсь отслеживать некоторые пользовательские поведения в нашем приложении Facebook Canvas. Мне нужно отправить пользовательские переменные в Google Analytics, но тег fb: google-analytics слишком ограничен.Пользовательский атрибут Google Analytics на Facebook

Знаете ли вы, как это работает?

Я отслеживаю обычный просмотр страницы, но мне также нужно отслеживать вызовы Ajax и настраиваемые переменные.

Спасибо, Diogo

+0

+1 хороший вопрос – Yahel

+0

Это может помочь получить решение ... я в настоящее время, глядя на код PHP для мобильных веб-сайтов и изменить его в соответствии с фейсбук. Он все еще не тестировался на Facebook, но мне удалось отправить запрос через тег img. Я отправлю здесь, если я получу это правильно :) – DiogoNeves

+1

, возможно, захочет посмотреть на это http://www.webdigi.co.uk/blog/2010/google-analytics-for-facebook-fan-pages/ или переключиться на приложение iframe. – Denis

ответ

1

Ok, на основе Дениса предложений, но учитывая тот факт, что мы не можем полностью переключить наше приложение для работы в качестве плавающего фрейма, мы исправили эту проблему с помощью «невидимого» IFrames в начале стр.

Код очень похож на это:

<?php 

$variable = $_GET[ 'var' ]; 
$value = $_GET[ 'value' ]; 
$slot = array_key_exists('slot', $_GET) ? $_GET[ 'slot' ] : 1; 
$level = array_key_exists('level', $_GET) ? $_GET[ 'level' ] : 3; 

if (empty($variable) || empty($value)) 
{ 
    $variable = 'BadRequest'; 
    $value = '1'; 
    $slot = 1; 
    $level = 3; 
} 

assert('is_string($variable)'); 
assert('is_numeric($slot)'); 
assert('is_numeric($level)'); 

$customParamStr = "'$slot', '$variable', '$value', '$level'"; 

?> 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
    <head> 
     <title>Analytics Frame</title> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <script type="text/javascript"> 
      var _gaq = _gaq || []; 
      _gaq.push(['_setAccount', 'UA-XXXXXXXX-X']); 
      _gaq.push(['_setCustomVar', <?php echo $customParamStr ?>]); 
      _gaq.push(['_trackPageview']); 

      (function() { 
      var ga = document.createElement('script'); 
      ga.type = 'text/javascript'; 
      ga.async = true; 
      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; 

      var s = document.getElementsByTagName('script')[0]; 
      s.parentNode.insertBefore(ga, s); 
      })(); 
     </script> 
    </head> 
    <body> 
    </body> 
</html> 

И использовать его, мы добавим эту IFrame на страницу холст с помощью:

<iframe class="analyticsFrame" id="analyticsCode" 
     src="???/analyticsFrame.php?var=varname&value=valuename&slot=1&level=3" ?>" width="0px" height="0px" /> 

Мы все еще должны улучшить код, для Например, мы могли бы добавить поддержку для нескольких переменных в одном и том же iFrame ...

Я надеюсь, что это поможет кому-то, и я надеюсь, что мы сможем полностью переключиться на iFrame :)

p.s. Вы можете использовать эту технику, чтобы запустить почти любой Javascript, но имейте в виде, что, если вам нужно это много, вы должны проецировать полностью перейти на плавающий фрейм прямо сейчас :)

Спасибо за вашу помощь один раз больше :)

Приветствия, Диого

Смежные вопросы