Либо: Google Analytics
Самым простым решением, конечно, является использование Google Analytics - FBML (язык разметки Facebook) имеет специальный тег для этого: http://developers.facebook.com/docs/reference/fbml/google-analytics
Это, конечно, не дает вам данных о том, что делал конкретный пользователь, но очень хорошо показывает время, проведенное на различных страницах в вашем приложении Facebook.И морально гораздо приятнее не хранить то, что конкретный пользователь сделал именно на вашем сайте.
Или: решение с собственным кодом
Если вы делаете если вы хотите отслеживать все конкретно, вам сначала нужно будет сохранить доступ к странице с использованием PHP при загрузке сайта, а затем сохранять с 10-секундными интервалами (или около того), что пользователь все еще присутствует, с помощью вызова AJAX.Для этого я бы дал ID просмотра страницы и отправил бы запрос на страницу, подобную этой * i_am_still_here.php? P = {page_view_id} *, которая берет текущую метку времени и обновляет запись базы данных для этого просмотра страницы.
У этого решения есть одна проблема: когда пользователь открывает вкладку в фоновом режиме и не просматривает ее в течение 30 минут, вы на самом деле не хотите хранить эти 30 минут как «пользователь, находящийся на сайте»,Кроме того, убедитесь, что с любым выбранным вами самокодированным решением вы должны учитывать, что люди могут открыть ваше приложение Facebook на нескольких вкладках.