Commit 85d9a37b1c23040af84705951c801ff092899ef5

Authored by Alexey Boroda
1 parent 7309bdd7

-Analytics in process

Showing 1 changed file with 46 additions and 7 deletions   Show diff stats
backend/models/Analytics.php
... ... @@ -2,7 +2,8 @@
2 2 namespace backend\models;
3 3  
4 4 use yii\base\Model;
5   -
  5 + use yii\helpers\VarDumper;
  6 +
6 7 class Analytics extends Model
7 8 {
8 9 public $viewId;
... ... @@ -21,7 +22,10 @@
21 22 $dateRange = new \Google_Service_AnalyticsReporting_DateRange();
22 23 $dateRange->setStartDate("30daysAgo");
23 24 $dateRange->setEndDate("today");
24   -
  25 +
  26 + /**
  27 + * Setting metrics and dimensions for first query
  28 + */
25 29 $sessions = new \Google_Service_AnalyticsReporting_Metric();
26 30 $sessions->setExpression('ga:sessions');
27 31 $sessions->setAlias('Сеансы');
... ... @@ -53,9 +57,42 @@
53 57 ]
54 58 );
55 59 $request->setDimensions($dimensions);
  60 +
  61 + /**
  62 + * Setting parameters for second query
  63 + */
  64 + $sessions2 = new \Google_Service_AnalyticsReporting_Metric();
  65 + $sessions2->setExpression('ga:sessions');
  66 + $new_sessions->setAlias('Сессии');
  67 +
  68 + $browser = new \Google_Service_AnalyticsReporting_Dimension();
  69 + $browser->setName('ga:browser');
  70 +
  71 + $city = new \Google_Service_AnalyticsReporting_Dimension();
  72 + $city->setName('ga:city');
  73 +
  74 + $country = new \Google_Service_AnalyticsReporting_Dimension();
  75 + $country->setName('ga:country');
  76 +
  77 + $request2 = new \Google_Service_AnalyticsReporting_ReportRequest();
  78 + $request2->setViewId($profile_id);
  79 + $request2->setDateRanges($dateRange);
  80 + $request2->setMetrics($sessions2);
  81 + $request2->setDimensions(
  82 + [
  83 + $browser,
  84 + $city,
  85 + $country,
  86 + ]
  87 + );
56 88  
57 89 $body = new \Google_Service_AnalyticsReporting_GetReportsRequest();
58   - $body->setReportRequests([ $request ]);
  90 + $body->setReportRequests(
  91 + [
  92 + $request,
  93 + $request2,
  94 + ]
  95 + );
59 96 $response = $analytics->reports->batchGet($body);
60 97  
61 98 return $response;
... ... @@ -66,8 +103,8 @@
66 103 $reports = $this->executeQuery();
67 104  
68 105 $data = [];
69   - for ($reportIndex = 0; $reportIndex < count($reports); $reportIndex++) {
70   - $report = $reports[ $reportIndex ];
  106 +
  107 + $report = $reports[ 0 ];
71 108 $header = $report->getColumnHeader();
72 109 // $dimensionHeaders = $header->getDimensions();
73 110 $metricHeaders = $header->getMetricHeader()
... ... @@ -99,8 +136,10 @@
99 136 }
100 137 }
101 138 }
102   - }
103   -
  139 +
  140 + /**
  141 + * @todo Get data from second query
  142 + */
104 143 return $data;
105 144 }
106 145 }
107 146 \ No newline at end of file
... ...