|
@@ -109,7 +109,7 @@ class GA{
|
|
|
$segment = new \Google_Service_AnalyticsReporting_Segment();
|
|
|
$segment->setDynamicSegment($dynamicSegment);
|
|
|
|
|
|
- $orderBy=new \Google_Service_AnalyticsReporting_OrderBy;
|
|
|
+ $orderBy=new \Google_Service_AnalyticsReporting_OrderBy();
|
|
|
$orderBy->setFieldName('ga:pageviews');
|
|
|
$orderBy->setSortOrder("DESCENDING");
|
|
|
|
|
@@ -234,7 +234,54 @@ class GA{
|
|
|
return $result;
|
|
|
|
|
|
}
|
|
|
+ public function visitors_geo($dp){
|
|
|
+ $analytics=self::getInstance($dp);
|
|
|
+ $dimensionArr=[
|
|
|
+ 'country'=>'ga:country',
|
|
|
+ 'region'=>"ga:region",
|
|
|
+ ];
|
|
|
+ $metricArr=[
|
|
|
+ 'transactions'=>"ga:transactions",
|
|
|
+ 'transactionRevenue'=>"ga:transactionRevenue",
|
|
|
+ ];
|
|
|
+
|
|
|
+ $VIEW_ID = $this->getViewId($dp);//
|
|
|
+ $dateRange = new \Google_Service_AnalyticsReporting_DateRange();
|
|
|
+ $dateRange->setStartDate($start_at);
|
|
|
+ $dateRange->setEndDate($end_at);
|
|
|
+ $metrics=[];
|
|
|
+ $dimensions=[];
|
|
|
+ foreach($metricArr as $k=>$v){
|
|
|
+ $Metric = new \Google_Service_AnalyticsReporting_Metric();
|
|
|
+ $Metric->setExpression($v);
|
|
|
+ $Metric->setAlias($k);
|
|
|
+ array_push($metrics,$Metric);
|
|
|
+ }
|
|
|
+ foreach($dimensionArr as $k=>$v){
|
|
|
+ $Dimension = new \Google_Service_AnalyticsReporting_Dimension();
|
|
|
+ $Dimension->setName($v);
|
|
|
+ array_push($dimensions,$Dimension);
|
|
|
+ }
|
|
|
+
|
|
|
+ $orderBy=new \Google_Service_AnalyticsReporting_OrderBy();
|
|
|
+ $orderBy->setFieldName('ga:transactions');
|
|
|
+ $orderBy->setSortOrder("DESCENDING");
|
|
|
|
|
|
+ $request = new \Google_Service_AnalyticsReporting_ReportRequest();
|
|
|
+ $request->setViewId($VIEW_ID);
|
|
|
+ $request->setDateRanges($dateRange);
|
|
|
+ $request->setMetrics($metrics);
|
|
|
+ $request->setDimensions($dimensions);
|
|
|
+ $request->setOrderBys($orderBy);
|
|
|
+
|
|
|
+ $body = new \Google_Service_AnalyticsReporting_GetReportsRequest();
|
|
|
+ $body->setReportRequests( array( $request) );
|
|
|
+ $reports= $analytics->reports->batchGet( $body );
|
|
|
+
|
|
|
+ $result=$this->getResults($reports);
|
|
|
+ return $result;
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
|
|
|
/**
|