diff --git a/backend/models/Analytics.php b/backend/models/Analytics.php index d16a7a4..c8d54fd 100644 --- a/backend/models/Analytics.php +++ b/backend/models/Analytics.php @@ -2,7 +2,8 @@ namespace backend\models; use yii\base\Model; - + use yii\helpers\VarDumper; + class Analytics extends Model { public $viewId; @@ -21,7 +22,10 @@ $dateRange = new \Google_Service_AnalyticsReporting_DateRange(); $dateRange->setStartDate("30daysAgo"); $dateRange->setEndDate("today"); - + + /** + * Setting metrics and dimensions for first query + */ $sessions = new \Google_Service_AnalyticsReporting_Metric(); $sessions->setExpression('ga:sessions'); $sessions->setAlias('Сеансы'); @@ -53,9 +57,42 @@ ] ); $request->setDimensions($dimensions); + + /** + * Setting parameters for second query + */ + $sessions2 = new \Google_Service_AnalyticsReporting_Metric(); + $sessions2->setExpression('ga:sessions'); + $new_sessions->setAlias('Сессии'); + + $browser = new \Google_Service_AnalyticsReporting_Dimension(); + $browser->setName('ga:browser'); + + $city = new \Google_Service_AnalyticsReporting_Dimension(); + $city->setName('ga:city'); + + $country = new \Google_Service_AnalyticsReporting_Dimension(); + $country->setName('ga:country'); + + $request2 = new \Google_Service_AnalyticsReporting_ReportRequest(); + $request2->setViewId($profile_id); + $request2->setDateRanges($dateRange); + $request2->setMetrics($sessions2); + $request2->setDimensions( + [ + $browser, + $city, + $country, + ] + ); $body = new \Google_Service_AnalyticsReporting_GetReportsRequest(); - $body->setReportRequests([ $request ]); + $body->setReportRequests( + [ + $request, + $request2, + ] + ); $response = $analytics->reports->batchGet($body); return $response; @@ -66,8 +103,8 @@ $reports = $this->executeQuery(); $data = []; - for ($reportIndex = 0; $reportIndex < count($reports); $reportIndex++) { - $report = $reports[ $reportIndex ]; + + $report = $reports[ 0 ]; $header = $report->getColumnHeader(); // $dimensionHeaders = $header->getDimensions(); $metricHeaders = $header->getMetricHeader() @@ -99,8 +136,10 @@ } } } - } - + + /** + * @todo Get data from second query + */ return $data; } } \ No newline at end of file -- libgit2 0.21.4