chengwl há 4 anos atrás
pai
commit
d8f9050b58
2 ficheiros alterados com 48 adições e 1 exclusões
  1. 2 1
      controllers/IndexController.php
  2. 46 0
      lib/GA.php

+ 2 - 1
controllers/IndexController.php

@@ -190,10 +190,11 @@ class IndexController extends Controller
       //销量
       $sells=$ga->visitors_geo($store,$start_day,$end_day);
       $sellSku=$ga->productSku($store,$start_day,$end_day);
+      $visitors=$ga->visitors_type($store,$start_day,$end_day);
 
       
       echo "<pre>";
-      print_r($sellSku);exit;
+      print_r($visitors);exit;
 
     }
 

+ 46 - 0
lib/GA.php

@@ -326,12 +326,58 @@ class GA{
         $body->setReportRequests( array( $request) );
         $reports= $analytics->reports->batchGet( $body );
 
+        $result=$this->getResults($reports);
+         return $result;
+    }
+    public function visitors_type($dp,$start_at,$end_at){
+        $analytics=self::getInstance($dp);
+        $dimensionArr=[
+            'userType'=>'ga:userType',
+        ];
+        $metricArr=[
+            'itemRevenue'=>"ga:totalVisitors",
+        ];
+       
+        $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:itemQuantity');
+        // $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;
 
     }
 
 
+
     /**
      * Queries the Analytics Reporting API V4.
      *