2010-10-19 3 views
1

Я ищу кормовые диаграммы доджо с данными из Google Analytics в приложении Zend Framework. Кто-нибудь сделал это или у вас есть какой-нибудь обзор того, как я буду заниматься этим? Я вижу, что есть dojox.data.GoogleSearchStore. Имеет ли смысл иметь хранилище dojox.data.GoogleAnalyticsStore и кто-нибудь работает над чем-то вроде этого?подключение данных Google Analytics api к диаграммам dojo - php backend

ответ

1

Я сделал недавно этот проект, представляя данные из API Google Analytics с помощью Dojo Charts. Я не уверен, что подход, который я использовал, был лучшим, но я могу хотя бы дать вам несколько указателей.

Даниэль Хартманн имеет компонент proposal for a Zend_Gdata_Analytics. Он еще не утвержден, однако вы можете найти его code on Github, и он отлично работает. Я использовал это, чтобы получить все данные, которые мне нужны из аналитики.

API Google Analytics сам по себе является достаточно мощным, но требуется некоторое время, чтобы обойти его. Попытайтесь понять разницу между измерениями и метриками из документов Google. Это помогает, если вы думаете о службе как о создании запросов, которые возвращают таблицу данных (например, SQL), а не только одно значение. В этой таблице каждый добавленный к запросу метрик добавляет в результат столбец данных, а измерения используются для ограничения и группировки данных в целом. Так, например:

$ga->newDataQuery() 
    ->addDimension(Zend_Gdata_Analytics_DataQuery::DIMENSION_DATE) 
    ->addMetric(Zend_Gdata_Analytics_DataQuery::METRIC_VISITS) 
    ->addMetric(Zend_Gdata_Analytics_DataQuery::METRIC_VISITORS) 
    ->addMetric(Zend_Gdata_Analytics_DataQuery::METRIC_PAGEVIEWS); 

дает вам общее количество посещений, посетителей и просмотров страниц за каждый день.

Аналитика иногда занимает несколько секунд, чтобы отвечать на запросы (особенно сложные), поэтому вы захотите кэшировать данные. В моем случае я выбирал его через регулярные интервалы cron и сохранял его в базе данных.

На стороне Dojo я не думаю, что dojox.data.GoogleSearchStore поможет вам. Я использовал комбинацию dojo.data.ItemFileWriteStore, dojox.charting.DataSeries и Zend_Dojo_Data, но я не думаю, что мои требования были бы типичными. Я бы посоветовал начать с основ - получить свои графики, работающие с образцовыми (жестко закодированными) данными, перед вашей попыткой и бросить аналитику. Есть несколько tutorials on sitepen.com, которые я нашел полезными.

Удачи вам!