setAuthConfig(\Yii::getAlias('@common/config/Artbox-85b8559147bc.json')); $client->addScope(Google_Service_Analytics::ANALYTICS_READONLY); $analytics = new Google_Service_AnalyticsReporting($client); $profile_id = "119240817"; $dateRange = new Google_Service_AnalyticsReporting_DateRange(); $dateRange->setStartDate("30daysAgo"); $dateRange->setEndDate("today"); $sessions = new Google_Service_AnalyticsReporting_Metric(); $sessions->setExpression('ga:sessions'); $sessions->setAlias('Сеансы'); $users = new Google_Service_AnalyticsReporting_Metric(); $users->setExpression('ga:users'); $users->setAlias('Пользователи'); $views = new Google_Service_AnalyticsReporting_Metric(); $views->setExpression('ga:pageviews'); $views->setAlias('Просмотры'); $new_sessions = new Google_Service_AnalyticsReporting_Metric(); $new_sessions->setExpression('ga:percentNewSessions'); $new_sessions->setAlias('Новые сессии'); $dimensions = new Google_Service_AnalyticsReporting_Dimension(); $dimensions->setName('ga:date'); $request = new Google_Service_AnalyticsReporting_ReportRequest(); $request->setViewId($profile_id); $request->setDateRanges($dateRange); $request->setMetrics( [ $sessions, $users, $views, $new_sessions, ] ); $request->setDimensions($dimensions); $body = new Google_Service_AnalyticsReporting_GetReportsRequest(); $body->setReportRequests([ $request ]); $response = $analytics->reports->batchGet($body); // VarDumper::dump($response, 10, true);die(); function printResults($reports) { $data = []; for ($reportIndex = 0; $reportIndex < count($reports); $reportIndex++) { $report = $reports[ $reportIndex ]; $header = $report->getColumnHeader(); $dimensionHeaders = $header->getDimensions(); $metricHeaders = $header->getMetricHeader() ->getMetricHeaderEntries(); $rows = $report->getData() ->getRows(); $totals = $report->getData() ->getTotals(); $total_values = $totals[ 0 ]->getValues(); $data[ 'sessions' ] = $total_values[ 0 ]; $data[ 'users' ] = $total_values[ 1 ]; $data[ 'views' ] = $total_values[ 2 ]; $data[ 'new' ] = $total_values[ 3 ]; for ($rowIndex = 0; $rowIndex < count($rows); $rowIndex++) { $row = $rows[ $rowIndex ]; $dimensions = $row->getDimensions(); $metrics = $row->getMetrics(); for ($i = 0; $i < count($dimensionHeaders) && $i < count($dimensions); $i++) { // print($dimensionHeaders[$i] . ": " . $dimensions[$i] . "\n"); } for ($j = 0; $j < count($metricHeaders) && $j < count($metrics); $j++) { $values = $metrics[ $j ]; for ($valueIndex = 0; $valueIndex < count($values->getValues()); $valueIndex++) { $value = $values->getValues()[ $valueIndex ]; $data[ $valueIndex ][] = (int) $value; } } } } return $data; } $data = printResults($response->getReports()); ?>

Sessions

Lorem ipsum psdea itgum rixt.

Users

Lorem ipsum psdea itgum rixt.

Page views

Lorem ipsum psdea itgum rixt.

%

New sessions

Lorem ipsum psdea itgum rixt.

'Analytics', 'toolbarLayout' => '{collapse}', ] ); ?> [ 'colors' => [ '#9ABCC3', '#A8E3D6', ], 'chart' => [ 'type' => 'area', 'zoomType' => 'x', ], 'title' => [ 'text' => 'Analytics', ], 'yAxis' => [ 'title' => [ 'text' => 'Sessions count', ], ], 'series' => [ [ 'name' => 'Sessions', 'data' => $data[ 0 ], ], [ 'name' => 'Users', 'data' => $data[ 1 ], ], ], 'credits' => [ 'enabled' => false, ], 'plotOptions' => [ 'area' => [ 'marker' => [ 'enabled' => false, 'symbol' => 'circle', 'radius' => 2, 'states' => [ 'hover' => [ 'enabled' => true, ], ], ], ], ], ], ] ); ?>
'Analytics', 'toolbarLayout' => '{collapse}', ] ); ?> [ 'exporting' => [ 'enabled' => false, ], 'colors' => [ '#9ABCC3', '#A8E3D6', ], 'chart' => [ 'plotBackgroundColor' => null, 'plotBorderWidth' => null, 'plotShadow' => false, 'type' => 'pie', ], 'title' => [ 'text' => 'Analytics', ], 'series' => [ [ 'name' => 'Sessions', 'data' => [ [ 'name' => 'New visitor', 'y' => round(intval($data[ 'new' ]), 2), ], [ 'name' => 'Returning Visitor', 'y' => 100 - round(intval($data[ 'new' ]), 2), ], ], ], ], 'credits' => [ 'enabled' => false, ], 'plotOptions' => [ 'pie' => [ 'allowPointSelect' => true, 'cursor' => 'pointer', ], ], ], ] ); ?>