|
@@ -598,19 +598,68 @@ class GA{
|
|
|
$result=$this->getResults($reports);
|
|
|
return $result;
|
|
|
}
|
|
|
+ public function storeData($dp,$start_at,$end_at){
|
|
|
+ $analytics=self::getInstance($dp);
|
|
|
+ $dimensionArr=[
|
|
|
+ ];
|
|
|
+ $metricArr=[
|
|
|
+ 'transactions'=>"ga:transactions",
|
|
|
+ 'transactionRevenue'=>"ga:transactionRevenue",
|
|
|
+ 'itemQuantity'=>"ga:itemQuantity",
|
|
|
+ 'transactionsPerSession'=>"ga:transactionsPerSession",
|
|
|
+ 'dcmFloodlightQuantity'=>"ga:dcmFloodlightQuantity",//广告转换
|
|
|
+ 'dcmFloodlightRevenue'=>"ga:dcmFloodlightRevenue",//收入
|
|
|
+ 'dcmCPC'=>"ga:dcmCPC",//每次点击费用
|
|
|
+ 'dcmCTR'=>"ga:dcmCTR",//点击率
|
|
|
+ 'dcmClicks'=>"ga:dcmClicks",//点击数
|
|
|
+ 'dcmCost'=>"ga:dcmCost",//成本
|
|
|
+ 'dcmROAS'=>"ga:dcmROAS",//报酬率
|
|
|
+ ];
|
|
|
+
|
|
|
+ $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);
|
|
|
+ }
|
|
|
+ $regionFilter = new \Google_Service_AnalyticsReporting_DimensionFilter();
|
|
|
+ $regionFilter->setDimensionName("ga:region");
|
|
|
+ $regionFilter->setOperator("EXACT");
|
|
|
+ $regionFilter->setExpressions([$region]);
|
|
|
|
|
|
+ $MetricFilterClause=new \Google_Service_AnalyticsReporting_MetricFilterClause();
|
|
|
+ $MetricFilterClause->setFilters(array($regionFilter));
|
|
|
|
|
|
- /**
|
|
|
- * Queries the Analytics Reporting API V4.
|
|
|
- *
|
|
|
- * @param service An authorized Analytics Reporting API V4 service object.
|
|
|
- * @return The Analytics Reporting API V4 response.
|
|
|
- */
|
|
|
- function getContentReport($VIEW_ID,$analytics,$metricArr,$dimensionArr) {
|
|
|
+
|
|
|
+ $request = new \Google_Service_AnalyticsReporting_ReportRequest();
|
|
|
+ $request->setViewId($VIEW_ID);
|
|
|
+ $request->setDateRanges($dateRange);
|
|
|
+ $request->setMetrics($metrics);
|
|
|
+ $request->setDimensions($dimensions);
|
|
|
+ $request->setDimensionFilterClauses($MetricFilterClause);
|
|
|
+ // $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=[];
|
|
|
for ( $reportIndex = 0; $reportIndex < count( $reports ); $reportIndex++ ) {
|