Zend_Gdata_Analytics.xml 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Reviewed: no -->
  3. <sect1 id="zend.gdata.analytics">
  4. <title>Using Google Analytics</title>
  5. <para>
  6. The Google Analytics <acronym>API</acronym> allows client applications to
  7. request data, saved in the analytics accounts.
  8. </para>
  9. <para>
  10. See <ulink
  11. url="http://code.google.com/apis/analytics/docs/gdata/v2/gdataOverview.html">http://code.google.com/apis/analytics/docs/gdata/v2/gdataOverview.html</ulink>
  12. for more information about the Google Analytics <acronym>API</acronym>.
  13. </para>
  14. <sect2 id="zend.gdata.analytics.accounts">
  15. <title>Retrieving account data</title>
  16. <para>
  17. Using the account feed, you are able to retrieve a list of all the accounts available to a specified user.
  18. </para>
  19. <programlisting language="php"><![CDATA[
  20. $service = Zend_Gdata_Analytics::AUTH_SERVICE_NAME;
  21. $client = Zend_Gdata_ClientLogin::getHttpClient($email, $password, $service);
  22. $analytics = new Zend_Gdata_Analytics($client);
  23. $accounts = $analytics->getAccountFeed();
  24. foreach ($accounts as $account) {
  25. echo "\n{$account->title}\n";
  26. }
  27. ]]></programlisting>
  28. <para>
  29. The <command>$analytics->getAccountFeed()</command> call, results in a
  30. <classname>Zend_Gdata_Analytics_AccountFeed</classname> object that contains
  31. <classname>Zend_Gdata_Analytics_AccountEntry</classname> objects. Each of this
  32. objects represent a google analytics account.
  33. </para>
  34. </sect2>
  35. <sect2 id="zend.gdata.analytics.reports">
  36. <title>Retrieving report data</title>
  37. <para>
  38. Besides the account feed, google offers a data feed, to retrieve report data using
  39. the Google Analytics <acronym>API</acronym>. To easily request for these reports,
  40. Zend_Gdata_Analytics offers a simple query construction interface. You can use all
  41. the <ulink url="http://code.google.com/intl/de-CH/apis/analytics/docs/gdata/dimsmets/dimsmets.html">metrics
  42. and dimensions</ulink> specified by the API. Additionaly you can apply some <ulink url="http://code.google.com/intl/de-CH/apis/analytics/docs/gdata/v2/gdataReferenceDataFeed.html#filters">filters</ulink>
  43. to retrieve some <ulink url="http://code.google.com/intl/de-CH/apis/analytics/docs/gdata/gdataCommonQueries.html">common
  44. data</ulink> or even complex results.
  45. </para>
  46. <programlisting language="php"><![CDATA[
  47. $query = $service->newDataQuery()->setProfileId($profileId)
  48. ->addMetric(Zend_Gdata_Analytics_DataQuery::METRIC_BOUNCES)
  49. ->addMetric(Zend_Gdata_Analytics_DataQuery::METRIC_VISITS)
  50. ->addDimension(Zend_Gdata_Analytics_DataQuery::DIMENSION_MEDIUM)
  51. ->addDimension(Zend_Gdata_Analytics_DataQuery::DIMENSION_SOURCE)
  52. ->addFilter("ga:browser==Firefox")
  53. ->setStartDate('2011-05-01')
  54. ->setEndDate('2011-05-31')
  55. ->addSort(Zend_Gdata_Analytics_DataQuery::METRIC_VISITS, true)
  56. ->addSort(Zend_Gdata_Analytics_DataQuery::METRIC_BOUNCES, false)
  57. ->setMaxResults(50);
  58. $result = $analytics->getDataFeed($query);
  59. foreach($result as $row){
  60. echo $row->getMetric('ga:visits')."\t";
  61. echo $row->getValue('ga:bounces')."\n";
  62. }
  63. ]]></programlisting>
  64. </sect2>
  65. </sect1>