Commit 3bc0d3514cae9620f5a7e487648365ffa2312ccc

Authored by Yarik
2 parents 83c3e54a 85d9a37b

Merge remote-tracking branch 'origin/master'

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