chengwl 4 éve
szülő
commit
d3228f7c72
2 módosított fájl, 57 hozzáadás és 1 törlés
  1. 9 0
      controllers/IndexController.php
  2. 48 1
      lib/GA.php

+ 9 - 0
controllers/IndexController.php

@@ -181,6 +181,15 @@ class IndexController extends Controller
         echo "addSource 任务全部完成"."<br/>";
       }
     }
+    public function actionTest(){
+      $ga=new GA();
+      $store="supernova";
+      $request = Yii::$app->request;
+      $start_day = $request->get('start', date('Y-m-d'),time()-24*3600);
+      $end_day=$start_day;
+      $data=$ga->trafficsource($store,$start_day,$end_day);
+
+    }
 
 
 

+ 48 - 1
lib/GA.php

@@ -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;
+
+    }
 
 
     /**