浏览代码

storedata

chengwl 4 年之前
父节点
当前提交
0a5eab9af2
共有 2 个文件被更改,包括 102 次插入10 次删除
  1. 9 10
      controllers/IndexController.php
  2. 93 0
      lib/GA.php

+ 9 - 10
controllers/IndexController.php

@@ -23,25 +23,24 @@ class IndexController extends \app\controllers\HomeController
       $store=$request->get('store');
       $start_day=$request->get('start', date('Y-m-d',time()-3600*24*8));
       $end_day = $request->get('end', date('Y-m-d',time()-3600*24));
+      $res=[];
       try{
         $storeData=$ga->storeData($store,$start_day,$end_day);
-        $storeSellData=$ga->storeSellData($store,$start_day,$end_day,'week');
-        foreach($storeSellData as $v){
-           $timestr=$v['isoYear']."W".$v['isoWeek'];    
-           $time=date("Y-m-d",\strtotime($timestr));       
-           echo $time."<br/>";
-          
-        }
-        echo "<pre>";
-        print_r($storeSellData);exit;
+        $res['storeData']=$storeData;
+      
+        // $storeSellData=$ga->storeSellData($store,$start_day,$end_day,'week');
+        // $trafficsource=$ga->trafficsource_overview($store,$start_day,$end_day);
+        // $googleAds=$ga->googleAds($store,$start_day,$end_day);
+        
+      
         
         
-
         // $product=$ga->product($store,$start_day,$end_day);
         // $visitors=$ga->visitors_type($store,$start_day,$end_day);
       }catch(\Exception $e){
          $this->json(0,[],$e->getMessage());
       }
+      $this->json([1,$res]);
 
 
 

+ 93 - 0
lib/GA.php

@@ -718,7 +718,100 @@ class GA{
          return $result;
 
     }
+    public function trafficsource_overview($dp,$start_at,$end_at){
+        $analytics=self::getInstance($dp);
+        $dimensionArr=[
+            'channelGrouping'=>'ga:channelGrouping',
+        ];
+        $metricArr=[
+            'users'=>"ga:users",
+            'newUsers'=>"ga:newUsers",
+            'sessions'=>"ga:sessions",
+            'bounceRate'=>"ga:bounceRate",
+            'transactionsPerSession'=>"ga:transactionsPerSession",
+            'transactionRevenue'=>"ga:transactionRevenue",
+            'transactions'=>"ga:transactions",
+        ];
+        $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);
+        }
+        $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;
+    }
+    public function googleAds(){
+        $analytics=self::getInstance($dp);
+        $dimensionArr=[
+            'adwordsCampaignID'=>'ga:adwordsCampaignID',
+        ];
+        $metricArr=[
+            'adClicks'=>"ga:adClicks",
+            'adCost'=>"ga:adCost",
+            'CPC'=>"ga:CPC",
+            'users'=>"ga:users",
+            'sessions'=>"ga:sessions",
+            'bounceRate'=>"ga:bounceRate",
+            'transactionsPerSession'=>"ga:transactionsPerSession",
+            'transactionRevenue'=>"ga:transactionRevenue",
+            'transactions'=>"ga:transactions",
+        ];
+        $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);
+        }
+        $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;
+        
 
+    }
    
     function getResults($reports) {
         $data=[];