как у вас на сайте считается количество просмотров? лучше код
как у вас на сайте считается количество просмотров?
3 ответа
|
public function getCountPageViews($pageUri, $startDate = NULL) { if (strpos($pageUri, '~') === 0) { // Regular Expression $filter = 'pagePath=' . $pageUri; } else { // Equals $filter = 'pagePath==' . $pageUri; } if (!$startDate) { $startDate = date('Y-m-d', strtotime('1 month ago')); } else { $startDate = date('Y-m-d', $startDate); } $this->_gapi->requestReportData( $this->_config['report_id'], array('visitorType'), array('pageViews', 'uniquePageviews'), NULL, $filter, $startDate ); $pageviews = 0; $uniquePageviews = 0; foreach ($this->_gapi->getResults() as $result) { $pageviews += $result->getPageviews(); $uniquePageviews += $result->getUniquePageviews(); } return array( 'pageviews' => $pageviews, 'uniquePageviews' => $uniquePageviews, ); } Ф-я использует google analytics API. Примерное время получения ответа от google analytics - 1-1,5 секунды, что очень долго. Поэтому это делается ajaxом, чтобы пользователь не ждал. В первый параметр pageUri можно подсовывать регулярное выражение. Например, для получения кол-ва просмотров поста c id = 1001 на этом сайте, применяется такая конструкция: $(document).ready(function(){ viewCountPageViews('~^/post/1001/.*/$', 1356958919); }); После загрузки страницы по $(document).ready() viewCountPageViews() делает ajax запрос к моему серверу, а мой сервер к google analytics. Подробнее о том, как использовать google analytics API в Kohana можно почитать здесь. Klim, всё ли вам понятно? |
|||
|
|
ничего не понятно. что отображается на стр. уникальные просмотры? |
|||
|
|
Google API на основе данных, полученных от счётчика google analytics, возвращает мне объект с запрошенной инфой: $this->_gapi->requestReportData( $this->_config['report_id'], array('visitorType'), array('pageViews', 'uniquePageviews'), NULL, $filter, $startDate ); Параметры - это то, что я запрашиваю и по чём фильтры. Я извлекаю от туда количество просмотров конкретной страницы и количество уникальных просмотров. А затем с помощью js вставляю в dom своей траницы (на странице поста кол-во уникальных просмотров можно увидеть, подведя мышку к количеству просмотров). P.S. В разделе вопрос-ответ немного по-другому. Я сохраняю кол-во просмотров, полученное от google API к себе в базу и затем периодически обращаюсь к API, чтобы поддерживать актуальность данных. |
|||
|