chengwl 4 år sedan
förälder
incheckning
37e5c7354f
2 ändrade filer med 47 tillägg och 1 borttagningar
  1. 7 0
      controllers/IndexController.php
  2. 40 1
      lib/GA.php

+ 7 - 0
controllers/IndexController.php

@@ -59,6 +59,13 @@ class IndexController extends \app\controllers\HomeController
               'expression'=>["cpc"]
             ]
           ],
+          'SegmentMetricFilters'=>[
+            [
+              'name'=>'ga:adClicks',
+              'operate'=>'GREATER_THAN',
+              'value'=>0
+            ]
+          ],
           'date'=>['start_at'=>$start_day,'end_at'=>$end_day]
         ];
         $adsData=$ga->getData($adsConfig);

+ 40 - 1
lib/GA.php

@@ -84,7 +84,7 @@ class GA{
          'metricArr'=[],
          'dimensionArr'=[],
          'date'=[start_at,end_at]
-         'SegmentDimensionFilters'=>[[name,operate,expression,not=false]]
+         'SegmentDimensionFilters'=>[[name,operate,expression,not=]]
          'oderBy'=>[name,order]
      ] 
      * 
@@ -205,6 +205,45 @@ class GA{
         return $segment;
 
     }
+    private function setSegmentMetricFilters($param){
+        $metricFilter = new \Google_Service_AnalyticsReporting_SegmentMetricFilter();
+        $metricFilter->setMetricName($param['name']);
+        $metricFilter->setOperator($param['operate']);
+        $metricFilter->setComparisonValue($param['value']);
+
+          // Create Segment Filter Clause.
+        $segmentFilterClause = new \Google_Service_AnalyticsReporting_SegmentFilterClause();
+        $segmentFilterClause->setMetricFilter($metricFilter);
+
+
+
+        // Create the Or Filters for Segment.
+        $orFiltersForSegment = new \Google_Service_AnalyticsReporting_OrFiltersForSegment();
+        $orFiltersForSegment->setSegmentFilterClauses(array($segmentFilterClause));
+
+          // Create the Simple Segment.
+        $simpleSegment = new \Google_Service_AnalyticsReporting_SimpleSegment();
+        $simpleSegment->setOrFiltersForSegment(array($orFiltersForSegment));
+         // Create the Segment Filters.
+        $segmentFilter = new \Google_Service_AnalyticsReporting_SegmentFilter();
+        $segmentFilter->setSimpleSegment($simpleSegment);
+        if($param['not']){
+            $segmentFilter->setNot(True);
+        }
+
+        // Create the Segment Definition.
+        $segmentDefinition = new \Google_Service_AnalyticsReporting_SegmentDefinition();
+        $segmentDefinition->setSegmentFilters(array($segmentFilter));
+
+        $dynamicSegment = new \Google_Service_AnalyticsReporting_DynamicSegment();
+        $dynamicSegment->setSessionSegment($segmentDefinition);
+        $dynamicSegment->setName($param['name']);
+
+        $segment = new \Google_Service_AnalyticsReporting_Segment();
+        $segment->setDynamicSegment($dynamicSegment);
+        return $segment;
+
+    }